嵌入式系统设计大学教程习题与解答.doc

上传人:坚持 文档编号:3942776 上传时间:2019-08-29 格式:DOC 页数:33 大小:449.50KB
下载 相关 举报
嵌入式系统设计大学教程习题与解答.doc_第1页
第1页 / 共33页
嵌入式系统设计大学教程习题与解答.doc_第2页
第2页 / 共33页
嵌入式系统设计大学教程习题与解答.doc_第3页
第3页 / 共33页
嵌入式系统设计大学教程习题与解答.doc_第4页
第4页 / 共33页
嵌入式系统设计大学教程习题与解答.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、嵌入式系统设计大学教程习题与解答第 1 章 嵌入式系统设计基本概念(绪论)1、嵌入式系统的定义是什么?你是如何理解嵌入式系统的? (P3)答:嵌入式系统一般定义为以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。一个嵌入式系统就是一个硬件和软件的集合体,它包括硬件和软件两部分。其中硬件包括嵌入式处理器/控制器/数字信号处理器(DSP) 、存储器及外设器件、输入输出(I/O )端口、图形控制器等;软件部分包括操作系统软件(嵌入式操作系统)和应用程序(应用软件) ,由于应用领域不同,应用程序千差万别。2、列出并说明嵌入式系

2、统不同于其他计算机系统的主要特征。 (P3P4)答:主要特征有: 系统内核小:由于嵌入式系统一般是应用于小型电子装置,系统资源相对有限,所以内核较传统的操作系统要小得多。 专用性强:嵌入式系统通常是面向特定任务的,个性化很强,其中软件系统和硬件的结合非常紧密,一般要针对硬件进行软件系统的移植。 运行环境差异大:嵌入式系统使用范围极为广泛,其运行环境差异很大。 可靠性要求高:嵌入式系统往往要长期在无人值守的环境下运行,甚至是常年运行,因此对可靠性的要求特别高。 系统精简和高实时性操作系统: 具有固化在非易失性存储器中的代码:为了系统的初始化,几乎所有系统都要在非易失性存储器中存放部分代码(启动代

3、码) 。为了提高执行速度和系统可靠性,大多数嵌入式系统常常把所有代码(或者其压缩代码)固化,存放在存储器芯片或处理器的内部存储器件中,而不使用外部存储介质。 嵌入式系统开发工作和环境:嵌入式系统开发需要专门的开发工具和环境。3、简述嵌入式系统的体系结构。 (P5)答:嵌入式系统自底向上包含四个部分:硬件平台、嵌入式实时操作系统(RTOS) 、硬件抽象层(HAL)和嵌入式实时应用程序。硬件抽象层位于操作系统和硬件之间,包含了系统中与硬件相关的大部分功能。屏蔽了底层硬件的多样性,操作系统不再直接面对具体的硬件环境,而是面向由这个中间层次所代表的、逻辑上的硬件环境。4、嵌入式系统是怎样分类的?(P8

4、)答:根据不同的分类标准,嵌入式系统有不同的分类方法。按嵌入式微处理器的位数分类:嵌入式系统可分为 4 位、8 位、16 位、32 位和 64 位等;按软件实时性需求分类:可分为非实时系统(如 PDA) 、软实时系统(如消费类产品)和硬实时系统(如工业实时控制系统) 。按嵌入式系统的复杂程度分类:嵌入式系统可分为小型嵌入式系统、中型嵌入式系统和复杂嵌入式系统。5、什么是实时操作系统,其主要功能是什么?(P8)答:实时多任务操作系统(Real Time multi-tasking Operation System,RTOS)简称实时操作系统,主要用来完成嵌入式实时应用的任务调度和控制等核心功能。

5、这些功能是通过内核服务函数形式交给用户调用的,也就是 RTOS 的系统调用,或者叫做 RTOS 的API。6、在日常生活中,你接触过哪些嵌入式产品?他们都有些什么功能?(P9P10)答:略 第 2 章 嵌入式系统设计基本概念1、嵌入式系统的硬件由哪几个部分组成?(P1213)答:嵌入式系统的硬件系统是由嵌入式处理器、存储器、I/O 接口电路、通信模块以及其他外部设备组成的。其核心是嵌入式处理器。存储器是构成嵌入式系统硬件的重要组成部分。嵌入式处理器工作时,必须有附属电路支持,如时钟电路、复位电路、调试电路、监视定时器、中断控制电路等,这些电路并不完成数据的输入/ 输出功能,而是为嵌入式处理器的

6、工作提供必要的条件。嵌入式处理器与通用处理器的最大区别在于嵌入式处理器集成了大量的不同功能的 I/O 模块。用户在开发嵌入式系统时,可以根据系统需求选择合适的嵌入式处理器,而无需再另外配备 I/O 电路。此外,嵌入式系统通常还包括人机交互界面,用于系统与用户的交互。人机界面常常使用键盘、液晶屏、触摸屏等部件,以方便与用户的交互操作。2、通用处理器与嵌入式处理器有哪些相同和不同的地方?(P13)答:嵌入式微处理器一般具备四个特点: 对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度; 具有功能很强的存储区保护功能,这是由于

7、嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断; 可扩展的处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式微处理器; 嵌入式处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为 mW 甚至 W 级。嵌入式处理器与通用处理器的最大区别在于嵌入式处理器集成了大量的不同功能的I/O 模块。用户在开发嵌入式系统时,可以根据系统需求选择合适的嵌入式处理器,而无需再另外配备 I/O 电路。3、常用的嵌入式处理器通常分成哪几大类?(P13)答:嵌入式系统中的处理器通常分

8、为三大类,即微处理器(Micro-Processor Unit,MPU ) 、微控制器( Micro-Controller Unit,MCU)和数字信号处理器(DSP) 。微处理器是指功能较强大的 CPU,它不是为任何特定的计算目标而设计的。因此这种芯片通常用于个人计算机与服务器。微控制器是针对嵌入式系统而设计的,它将 CPU、存储器以及其他外设都集成在同一片电路板上。数字信号处理器(DSP)中的 CPU 是针对快速离散时间信号处理计算的。因此,DSP 非常适用于音频及视频通信。现代的芯片生产工艺已经允许将重要处理器的内核和各种外围的芯片器件整合在一起,以进一步降低功耗,达到专用的需求,这时,

9、便出现了片上系统 SoC(System On Chip) 。4、什么是嵌入式外围设备?简要说明嵌入式外围设备是如何分类的。 (P2223)答:5、嵌入式操作系统的发展经历了哪几个阶段?(P28)答:嵌入式操作系统伴随着嵌入式系统的发展,大致经历了四个阶段:第一阶段:无操作系统的嵌入算法阶段,以单芯片为核心的可编程控制器形式的系统,具有与监测、伺服、指示设备相配合的功能。第二阶段:以嵌人式 CPU 为基础、简单操作系统为核心的嵌入式系统。由于 CPU 种类繁多,因此通用性比较差;系统开销小,效率高;具有一定的兼容性和扩展性;系统主要用来控制系统负载以及监控应用程序运行。第三阶段:通用的嵌入式实时

10、操作系统阶段。以嵌入式操作系统为核心的嵌入式系统,能运行于各种类型的微处理器上,兼容性好;内核精小、效率高,具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(APl) ;嵌入式应用软件丰富。第四阶段:以基于 Internet 为标志的嵌入式系统。这是一个正在迅速发展的阶段。嵌入式设备与 Internet 的结合将代表着嵌入式技术的真正未来。6、现阶段常用的操作系统有哪些?通过调研,指出几种常用的嵌入式操作系统的特点是什么?常用在什么场合?(P2829)答:常用的嵌入式 RTOS 分三大类:商用系统、专用系统和开放系统。

11、商品化的嵌入式实时操作系统,主要有 WindRiver 的 Vxworks 和 pSOS+,3Com 的 Palm OS 以及Microsoft 的 Windows CE 等。专用操作系统功能相对较弱,但针对性强,其安全可靠性大都超过普通商用系统,如应用于手机的嵌入式操作系统 SymbianOS。开放系统的典型代表是嵌入式 Linux 和 C/OS- 。7、嵌入式操作系统的主要任务有哪些?(P28)答:嵌入式操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬

12、件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。8、嵌入式系统的基本设计过程包括哪几个阶段?每一个阶段的主要工作有哪些?(P33)答:以自顶向下的角度来看,系统设计包括五个阶段,从系统需求分析开始;第二步是规格说明,在这一步,我们对需设计的系统功能进行更细致地描述,这些描述并不涉及系统的组成;第三步是系统结构设计,在这一阶段以大的构件为单位设计系统内部详细构造,明确软、硬件功能的划分;第四步是构件设计,它包括系统程序模块设计、专用硬件芯片选择及硬件电路设计;第五步是系统集成,在完成了所有构件设计的基础上进行系统集成,构造出所需的完整系统

13、。9、需求分析阶段细分为哪几个步骤?每个步骤完成什么工作?(P3435)答:需求分析阶段可细分为四个阶段:1、需求与规格说明:通过与客户进行交流,了解用户的意图,明确客户需求,整理成正式的规格说明,这些规格说明里包含了进行系统体系结构设计所需要的足够信息。2、确认需求:确认这一系列的需求不仅需要理解什么是用户需要的,而且需要理解他们是如何表达这些需求的。3、简单的需求表格:将复杂而费时的工作用相对少量的格式清晰、简单的需求表格来表示,在考虑系统基本特征时可以将这个表格作为检查表。4、需求的内部一致性:在写完需求分析以后,应该对它们的内部一致性进行检查。10、试通过各种渠道调查目前市场上主要有哪

14、些嵌入式系统开发平台,它们各自有什么特点。答:略第 3 章 ARM 体系结构及基于 ARM9 处理器的嵌入式系统硬件平台 OMAP59121、试比较 RISC 和 CISC 体系结构的异同,为什么 ARM 内核要采用 RISC 体系结构?(P47)答:ARM 体系结构总的设计思路是在不牺牲性能的同时尽可能简化处理器。同时从体系结构的层面上支持灵活的处理器扩展。这种简化和开放的思路使 ARM 处理器采用了很简单的结构精简指令集计算机(Reduced Instruction Set Computer,RISC)体系结构来进行实现。传统的复杂指令集计算机(Complex Instruction Se

15、t Computer,CISC )结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂,然而,在 CISC 指令集的各种指令中,其使用频率却相差悬殊,大约有 20的指令会被反复使用,占整个程序代码的 80。而余下的 80的指令却不经常使用,在程序设计中只占 20,显然,这种结构是不太合理的。基于以上的不合理性,1979 年美国加州大学伯克利分校提出了 RISC 的概念。RISC 并非只是简单地去减少指令。RISC 是一种设计思想,其目标是设计出一套能在高时钟频率下单周期执行、简单而有效的指令集。RISC 的设计重点在于降低由硬

16、件执行的指令的复杂度,因为软件比硬件容易提供更大的灵活性和更高的智能。因此,RICS 设计对编译器有更高的要求;相反,传统的 CISC 则更侧重于硬件执行指令的功能性,使 CISC 指令变得更复杂。2、简述 ARM 的设计思想及其与单纯的 RISC 定义的不同。 (P4849)答:ARM 内核并不是一个纯粹的 RISC 体系结构,这是为了使它能够更好地适应其主要应用领域嵌入式系统。为了使 ARM 指令集能够更好地满足嵌入式应用的需要,ARM 指令集和单纯的 RISC 定义有以下几个方面的不同: 一些特定的指令周期数可变并不是所有的 ARM 指令都是单周期的。例如:多寄存器装载/ 存储的 Loa

17、d/Store 指令的执行周期就是不确定的,必须根据被传送的寄存器个数来定。如果是访问连续的存储器地址,就可以改善性能,因为连续的内存访问通常比随机访问要快;同时,代码密度也得到了提高,因为在函数的起始和结尾,多个寄存器的传输是很常用的操作。 内嵌桶形移位器产生了更为复杂的指令内嵌桶形移位器是一个硬件部件,在一个输入寄存器被一条指令使用之前,内嵌桶形移位器可以处理该寄存器中的数据。它扩展了许多指令的功能,以此改善了内核性能,提高了代码密度。 Thumb 16 位指令集ARM 内核增加了一套称之为 Thumb 指令的 16 位指令集,使得内核既能够执行 16 位指令,也能够执行 32 位指令,从

18、而增强了 ARM 内核的功能。16 位指令与 32 位的定长指令相比较,代码密度可以提高约 30%。 条件执行只有当某个特定条件满足时指令才会被执行。这个特性可以减少分支指令的数目,从而改善性能,提高代码密度。3、ARM 体系结构发展过程中,主要有哪些变种,对各变种做简要介绍。 (P4950)答:我们将在 ARM 体系中增加的某些特定功能称为 ARM 体系的某种变种(variant) ,下面介绍 ARM 体系的一些变种形式。(1)Thumb 指令集(T 变种)Thumb 指令集是将 ARM 指令集的一个子集重新编码而形成的一个指令集。 ARM 指令长度为 32 位,Thumb 指令长度为 16

19、 位。这样,使用 Thumb 指令集可以得到密度更高的代码,这对于需要严格控制产品成本的设计非常有意义。(2)长乘法指令(M 变种)M 变种增加了两条用于进行长乘法操作的 ARM 指令:其中一条指令用于实现 32 位整数乘以 32 位整数,生成 64 位整数的长乘法操作,另一条指令用于实现 32 位整数乘以 32位整数,然后再加上 32 位整数,生成 64 位整数的长乘加操作。(3)增强型 DSP 指令(E 变种)E 变种包含了一些附加的指令,这些指令用于增强处理器对一些典型 DSP 算法的处理性能,主要包括:几条新的实现 16 位数据乘法和乘加操作的指令,实现饱和的带符号数的加减法操作的指令

20、。(4)Java 加速器 Jazelle(J 变种)ARM 的 Jazelle 技术将 Java 的优势和先进的 32 位 RISC 芯片完美地结合在一起。Jazelle 技术提供了 Java 加速功能,可以得到比普通 Java 虚拟机高得多的性能。与普通的Java 虚拟机相比,Jazelle 使 Java 代码运行速度提高了 3 倍,而功耗降低了 80%。Jazelle 技术使得程序员可以在一个单独的处理器上同时运行 Java 应用程序、已经建立好的操作系统、中间件以及其他应用程序。与使用协处理器和双处理器相比,使用单独的处理器可以在提供高性能的同时,保证低功耗和低成本。(5)ARM 媒体功

21、能扩展(SIMD 变种)SIMD 变种的主要特点是:可以同时进行两个 16 位操作数或者 4 个 8 位操作数的运算,提供了小数算术运算,用户可以定义饱和运算的模式,两套 16 位操作数的乘加/乘减运算,32 位乘以 32 位的小数 MAC,同时 8 位/16 位选择操作。4、ARM 体系结构版本的命名规则有哪些?简单说明 ARM7TDMI 的含义。 (P50)答:ARM 产品通常以 ARMxyzTDMIEJF-S形式出现。ARM 体系结构的命令规则中这些后缀的具体含义见表 3-2。ARM7TDMI 的含义即 ARM7 内核,增加了Thumb 指令集(T 变种) 、JTAG 调试器、长乘法指令

22、(M 变种)和嵌入式跟踪宏单元的功能。5、列举目前常用的 ARM 微处理器的型号及功能特点。 (P5153)答:ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有 ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。 ARM7 系列 ARM9 系列 ARM9E 系列 ARM10E 系列 ARM11 系列 SecurCore 系列 Inter 的 Xscale Inter 的 StrongARM其中,ARM7、ARM9 、ARM9E 和 ARM10E 为 4 个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应

23、用领域的需求。SecurCore 系列专门为安全要求较高的应用而设计。6、比较 ARM9 与 ARM7 处理器的性能特点,试说明它们有何异同。 (P5556 )答:ARM7 提供了非常好的性能功耗比,它包含了 Thumb 指令集快速乘法指令和ICE 调试技术的内核。ARM9 处理器通过全新的设计,采用了更多的晶体管,能够达到两倍以上于 ARM7 处理器的处理能力。ARM7 内核是 0.9MIPS/MHz 的三级流水线和冯诺伊曼结构,而 ARM9 内核是 5 级流水线,提供 1.1MIPS/MHz 的哈佛结构。从 ARM7 到 ARM9 的性能提升还来源于存储器读写指令load 和 store,

24、以及互锁技术的应用。7、简单介绍 OMAP5912 微处理器的特点和功能。 (P5960)答:OMAP5912 处理器是 OMAP1510 系列的一个分支,是由 TI 应用最为广泛的TMS320C55X DSP 内核与低功耗、高性能的 ARM926EJ-S 微处理器组成的双核应用处理器,这两个内核通过一种专用的处理器内部通信机制相连接。OMAP5912 的结构如图 3-10 所示。C55x 系列可提供对低功耗应用的实时多媒体处理的支持;ARM926 可满足控制和接口方面的处理需要。基于双核结构,OMAP5912 具有极强的运算能力和极低的功耗,一方面,产品性能高、省电;另一方面,同其它 OMA

25、P 处理器一样,采用开放式、易于开发的软件设施,支持广泛的操作系统,如 Linux、Windows、WinCE、Nucleus、Palm OS、VxWorks 等。可以通过 API 及用户熟悉且易于使用的工具优化其应用程序。OMAP5912 处理器的目标应用是: 需要密集信号处理的设备 通讯终端 WAN 802.11X BlueTooth GSM,GPRS,EDGE CDMA 视频和图像处理(MPEG4,JPEG ,Windows Media Video,etc.) 高级语言处理应用(text-to-speech,speech recognition ) 音频处理(MPEG-1 Audio L

26、ayer3 MP3,AMR,WMA,AAC,及其它 GSM Speech Codecs) 图形和视频加速 数据处理8、常用的 OMAP5912 开发工具有哪些?(P6061 )答:常用的 OMAP5912 开发工具有:(1)OMAP5912 Starter Kit (OSK)Omap5912 基本板,提供了完成设计与测试过程所需的所有软件,这包括一系列主板专用库、芯片专用库以及一套针对 OMAP5912 Linux 内核的 Linux 开发工具。(2)MU-Q-VGA LCD Module for OMAP5912OSK 的 LCD 扩充套件,提供了 LCD 触摸屏。(3)Accelerato

27、r Program for OMAP5912针对 omap5912OSK 的 Linux 和 WinCE 4.2 BSP 和驱动程序软件包,方便易用,支持很多设备和扩展模块,如 LCD、USB Client & Host、键盘、触摸屏、以太网、串口等设备。(4)RAPID DEVELOPMENT KIT (RDK )omap5912 OSK 无线模块扩充套件。(5)Portable Data Terminal Reference Design基于 omap5912 的便携式数据终端(PDT)参考设计,一个完整的多媒体智能手机设计案例。相关应用包括导航、游戏、学习辅助、通话、娱乐等等。第 4 章

28、 ARM 微处理器的编程模型与指令系统1、ARM 微处理器有哪几种运行模式?其中哪些是特权模式,哪些又是异常模式?(P64)答:ARM 微处理器支持 7 种运行模式,分别为:用户模式;快速中断模式;外部中断模式;管理模式;数据访问终止模式;系统模式;未定义指令中止模式。除用户模式以外,其余的所有 6 种模式称之为非用户模式,或特权模式(Privileged Modes) ;而除去用户模式和系统模式以外的 5 种又称为异常模式(Exception Modes) ,常用于处理中断或异常。2、ARM 体系结构的存储器格式有哪几种?(P6465)答:ARM 体系结构可以用两种方法存储字数据,称之为大端

29、格式(big-endian)和小端格式(little-endian) 。大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中;小端格式:低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。3、ARM 状态下和 Thumb 状态下寄存器的组织有何不同?(P6970 )答:Thumb 状态下的寄存器集是 ARM 状态下寄存器集的一个子集,程序可以直接访问 8 个通用寄存器(R7R0) 、程序计数器(PC) 、堆栈指针(SP ) 、连接寄存器(LR)和CPSR。同时,在每一种特权模式下都有一组 SP、LR 和 SPSR。在 Thumb 状态下,高位寄存器 R8R15 并

30、不是标准寄存器集的一部分,但可使用汇编语言程序受限制的访问这些寄存器,将其用作快速的暂存器。4、简述 CPSR 各状态位的作用,并说明如何对其进行操作,以改变各状态位。 (P6768)答:CPSR 可在任何运行模式下被访问,它包含条件码标志位、中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位。条件码标志位: N(Negative)当用两个补码表示的带符号数进行运算时,N=1 表示运算的结果为负数;N=0 表示运算的结果为正数或零; Z(Zero )Z=1 表示运算的结果为零; Z=0 表示运算的结果为非零; C(Carry)可以有 4 种方法设置 C 的值: 加法运算(包括比较

31、指令 CMN):当运算结果产生了进位时(无符号数溢出) ,C=1,否则 C=0。 减法运算(包括比较指令 CMP):当运算时产生了借位(无符号数溢出) ,C=0 ,否则C=1。 对于包含移位操作的非加/ 减运算指令,C 为移出值的最后一位。 对于其他的非加/ 减运算指令,C 的值通常不改变。 V(OVerflow )可以有 2 种方法设置 V 的值: 对于加/减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1 表示符号位溢出。 对于其他的非加/ 减运算指令,V 的值通常不改变。CPSR 的低 8 位(包括 I、F 、 T 和 M4:0)称为控制位,当发生异常时这些位可以被改

32、变。如果处理器运行特权模式,这些位也可以由程序修改。状态寄存器(PSR)中的其余位为保留位,当改变 PSR 中的条件码标志位或者控制位时,保留位不要被改变,在程序中也不要使用保留位来存储数据。保留位将用于 ARM 版本的扩展。5、ARM 体系结构所支持的异常类型有哪些?具体描述各类异常,在应用程序中应该如何处理?(P7071 )答:ARM 体系结构所支持的异常类型有复位、未定义指令、软件中断、指令预取中止、数据中止、外部中断请求、快速中断请求。具体地: 当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行; 当 ARM 处理器或协处理器遇到不能处理的指令时,产生未定义指令异

33、常。可使用该异常机制进行软件仿真; 软件中断异常由执行 SWI 指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现系统功能调用; 若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常; 若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常; 当处理器的外部中断请求引脚有效,且 CPSR 中的 I 位为 0 时,产生 IRQ 异常。系统的外设可通过该异常请求中断服务; 当处理器的快速中断请求引脚有效,且 CPSR 中的 F 位为 0 时,产生 FIQ 异常。6、AR

34、M 指令有哪几种寻址方式?试分别叙述其各自的特点并举例说明。 (P77)答:ARM 指令系统支持的基本寻址方式有 7 种:立即数寻址、寄存器寻址、寄存器间接寻址、基址变址寻址、多寄存器寻址、堆栈寻址、相对寻址。他们的特点分别是: 立即数寻址:操作数本身就在指令中给出。如:ADD R0,R0 ,#0x3f 寄存器寻址:指令中地址码给出的是寄存器编号。如:ADD R0,R1 ,R2 寄存器间接寻址:寄存器中的值作为操作数的地址,操作数本身存放在存储器中。如:ADD R0,R1 ,R2 基址变址寻址:将寄存器的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址,用于访问基址附近的存储器单

35、元。如:LDR R0,R1,#4 多寄存器寻址:块拷贝寻址。如:LDMIA R0,R1 ,R2 ,R3,R4 堆栈寻址:用堆栈作为地址。如:STMFD SP! R1-R7,LR 相对寻址:以程序计数器 PC 的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有效地址。如:BL NEXT7、简述 ARM 指令集的分类。 (P81)答:ARM 指令集总体分为六大类:数据处理指令、程序状态寄存器访问指令、Load/Store 指令、跳转指令(转移指令) 、异常中断指令、协处理器指令。8、假设 R0 的内容为 0x8000,寄存器 R1、R2 内容分别为 0x01 和 0x10,

36、存储器内容为空。执行下述指令后,说明 PC 如何变化?存储器及寄存器的内容如何变化?STMIB R0!,R1,R2LDMIA R0!,R1,R2答:略。9、如何从 ARM 指令集跳转到 Thumb 指令集?ARM 指令集中的跳转指令与汇编语言中的跳转指令有什么区别?(P96)答:进入 Thumb 指令模式有 2 种方法:一种是执行一条交换转移指令 BX,将指令中的目标地址寄存器的最低位置 1,并将其他位的值放入程序计数器 PC,则可进入 Thumb指令。另一种方法是利用异常返回,也可把微处理器从 ARM 模式转换为 Thumb 模式。在这个过程中,ARM 提供了 2 种机制:当返回地址保存在当

37、前异常模式的 R14(LR )时,采用传送指令;当返回地址保存在堆栈时,使用多寄存器 Load/Store 指令。ARM 指令集中的跳转指令与汇编语言中的跳转指令的区别是 ARM 指令集中的跳转指令可以直接向程序计数器 PC 写入跳转地址值。10、ARM 指令集支持哪几种协处理器指令?试分别简述并列举其特点。 (P93)答:ARM 协处理器指令包括以下 5 条,其特点分别是: CDP 协处理器数操作指令:用于 ARM 处理器通知 ARM 协处理器执行特定的操作,若协处理器不能成功完成特定的操作,则产生未定义指令异常。 LDC 协处理器数据加载指令:用于将源寄存器所指向的存储器中的字数据传送到目

38、的寄存器中,若协处理器不能成功完成传送操作,则产生未定义指令异常。 STC 协处理器数据存储指令:用于将源寄存器中的字数据传送到目的寄存器所指向的存储器中,若协处理器不能成功完成传送操作,则产生未定义指令异常。 MCR 处理器寄存器到协处理器寄存器的数据传送指令:用于将 ARM 处理器寄存器中的数据传送到协处理器寄存器中,若协处理器不能成功完成操作,则产生未定义指令异常。 MRC 协处理器寄存器到 ARM 处理器寄存器的数据传送指令:用于将协处理器寄存器中的数据传送到 ARM 处理器寄存器中,若协处理器不能成功完成操作,则产生未定义指令异常。第 5 章 嵌入式操作系统1、嵌入式操作系统进程的定

39、义是什么?(P101)答:进程是可并发执行的、具有独立功能的程序在一个数据集合上的运行过程,是操作系统进行资源分配和保护的基本单位。2、一个比较完善的操作系统应当包括哪几个模块?(P100)答:一个比较完善的操作系统应当包括内存管理、进程管理、文件管理以及为了充分利用各种资源而设计的调度机制等四个模块。3、说明嵌入式操作系统进程调度的几种策略,并说出不同之处和优缺点。 (P105108)答:实时调度方法大致可以划分为以下几类:离线和在线调度:对于离线调度算法,运行过程中使用的调度信息在系统运行之前就确定了。离线调度算法具有确定性,但缺乏灵活性,适用于那些特性能够预先确定,且不容易发生变化的应用

40、。在线调度算法的调度信息则在系统运行过程中动态获得,在线调度算法在形成最佳调度决策上具有较大的灵活性。抢占和非抢占调度:在抢占式调度算法中,正在运行的任务可能被其他任务所打断,抢占式调度算法,使关键任务能够打断非关键任务的执行,确保关键任务的截止时间能够得到满足,抢占式调度算法要更复杂些,且需要更多的资源,并可能在使用不当的情况下会造成低优先级任务出现长时间得不到执行的情况。非抢占式调度常用于那些任务需要按照预先确定的顺序进行执行,且只有当任务主动放弃 CPU 资源后,其他任务才能得到执行的情况。静态和动态调度:在静态调度算法中,任务的优先级需要在系统运行前进行确定,且在运行过程中不会发生变化

41、。在动态调度算法中,任务的优先级可根据需要进行改变,也可能随着时间按照一定的策略自动发生变化。4、嵌入式系统中进程间通信主要采用哪几种形式?(P110)答:嵌入式系统中进程间通信主要采用两种形式:共享内存和消息传递。二者在逻辑上没有什么区别,进程通信采用哪种方式,主要依赖实际需要。进程间通信也可以采用信号和管道的方式。5、简述嵌入式操作系统的中断管理和时钟管理模式。 (P117-118)答:在嵌入式操作系统中,中断前导和中断后续通常由内核的中断接管程序来实现。硬件中断发生后,中断接管程序获得控制权,先由中断接管程序进行处理,然后才将控制权交给相应的用户中断服务程序。用户中断服务程序执行完成后,又回到中断接管程序。实时内核通常还提供如下中断管理功能:挂接中断服务程序、获得中断服务程序入口地址、获取中断嵌套层次、开中断、关中断。在实时系统中,时钟具有非常重要的作用。通过时钟,应用和内核能够查询当前时间、定时地完成各项工作、报警、有限的等待和睡眠等,是处理具有时间约束特性应用必不可少的内容。因此,实时内核都需要提供对时钟进行管理的机制。时钟管理一般具有以下功能:维持日历时间,任务有限等待的计时,软定时器的定时

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。