2016-10-12 00:00:00嘉辉 嵌入式培训
六论述题
1.论述外设寄存器的作用、分类,以及每种分类完成的功能。
答:外设寄存器又称为“I/O端口”,处理器对为外部设备的访问,就是通过对外设寄存器读写完成的。
外设寄存器分为3种:
控制寄存器,用来控制外设行为。
状态寄存器,用来指示外设的当前状态。
数据寄存器,用来存储外设用例的数据。
2.论述嵌入式软件开发中程序优化的原则、分类,以及每种分类优化的内容。
答:嵌入式程序优化遵循三个原则:等效原则、有效原则、经济原则。
嵌入式程序优化分为3类:
运行速度优化,在充分掌握软硬件特性的基础上,通过应用程序结构调整等手段,来缩短完成指令任务所需的运行时间。
代码尺寸优化,在能够正确实现所需功能需求的前提下,尽可能减小程序的代码量。
低功耗优化,在满足需求的前提下,运行时间尽可能少的小孩硬件资源,以达到节能降耗的目的。
3.论述嵌入式操作系统中的文件系统的作用,以及它的层次和每个层次的作用。
答:文件系统提供了在线存储和访问包括数据和程序在内的文件内容的机制。
I/O控制层,为文件系统的最低层,实现内存与磁盘间的信息转移。
基本文件系统层,向适合的设备驱动程序发送指令,以完成对磁盘上的物理块进行读写。
文件组织模块层,将逻辑块地址转换成基本文件系统所用的物理地址。
逻辑文件系统层,管理元数据。
4.从软件的架构层次来论述嵌入式软件系统模型。
答:从软件的架构层次啦论述嵌入式软件模型共有3种。
没有OS和BSP的模型,这种,模型没有OS的概念,在硬件层上直接是应用程序,应用程序是高的相关的,直接与硬件打交道。
有OS没有BSP的模型,这种模型有嵌入式OS负责与硬件交互、管理资源、应用程序,利用OS的API和库间接与硬件打交道。
有OS和BSP的模型,这种模型在OS与硬件层之间多了一层BSP,BSP负责与硬件交互。
5.论述层次化的存储模型中,都有哪些存储器,以及它们典型的大小。
答:层次化存储模型中一般有5种存储器:
寄存器,一般位于处理器内部,速度最快,容量最小,一般4-64B;
高速缓存,一般位于处理器和主存储之间,一般为10-1000KB;
主存储器,即通常所说的内存,一般为10-1000MB;
本地外存,一般指机器上的区别于内存的存储器,此存储器上的数据不能直接被处理器使用,必须先送入内存,然后在提交给处理器,一般为10-1000GB
远程外存,一般只通过网络与本机互联的外部设备,一般为1TB到无穷。
6.论述代码尺寸优化的途径。
答:代码尺寸优化一般有3种途径:
基于指令集的代码尺寸优化,即根据具体的处理器的指令集进行相关代码的优化。
代码压缩优化,即通过对代码进行重新编码,以减少输出序列的形式,但是这个序列是不可以直接运行的。
代码编写技巧,即采用各种代码编写的技巧和方法,比如尽量删除不必要的全局变量位操作,不改变的变量尽量申明为常量等。
7.论述物理内存直接寻址的含义,以及使用物理地址的弊端。
答:所谓物理内存直接寻址是指,在进行硬件设计的时候,把处理器的地址总线直接与主存储器相连,处理器就可以通过地址总线对主存储器中的数据进行访问。
使用物理地址的弊端主要有4点:
在使用物理地址的情况下,处理器可以使用的实际内存数量就是物理内存的总量,如果想访问更多的内存地址,只有增减物理内存数量。
在物理内存情况下,处理器对所有内存的访问权是一致的,物理内存中的所有代码,数据等信息读写权限都是一样的。
如果在多任务的情况下,物理寻址也无法为每个独立的任务提供相应的保护机制,因为所存的任务是运行在同一个地址空间内。
物理内存寻址方式下的内存,无法按照随需的原则来使用。
8.论述运行速度优化的方法。
答:运行速度优化主要方法如下:
采用好的算法和数据结构,高效算法与恰当的数据结构可以使应用程序获得更高的优化性能,比如二分法查找比顺序查找要高效,递归的时间效率和空间效率都比较差。
减小运行强度,在程序中尽量不要进行复杂的运算,比如浮点数的开放等,对于耗时、耗资源的运算,可以采用空间换时间的方法,多使用移位的和自增指令。
采用循环优化和函数优化,对于不需要循环变量参加的语句,放到循环外,对于循环条件的尽量减少判断。
9.论述基本的计算机体系结构,以及各个部分的主要任务。
答:基本的计算机的体系结构主要由4部分组成:
微处理器,从内存获取机器语言指令,编译,执行,根据指令代码,管理自己的寄存器,根据指令或自己的需要修改内存内容,相应其他硬件的中断请求。
存储器,用来存储指令和数据。
输入输出模块,负责在处理器、存储器和外部设备之间交换数据。
系统总线,为处理器、存储器和输入输出模块提供数据,控制等信号通道和传输的设施。
10.论述复杂的嵌入式软件系统架构模型的组成,以及这种模型的优点。
答:复杂的嵌入式软件系统架构由4部分组成
板极支持包,介于开发板硬件和操作系统之间的一层软件抽象,主要的目的是抽象操作系统对硬件的操作
操作系统,统一管理硬件资源的软件系统
应用编程接口,是操作系统提供给应用程序的编程接口
应用程序,位于最顶层负责系统功能和业务逻辑的实现
这种模型在操作系统与硬件之间对增加了一层BSP由BSP直接与硬件交互,这样嵌入式操作系统的代码变成了与硬件无关的代码,提高了程序的移植性,方便嵌入式系统跨平台移植。
11论述常见的特殊目的寄存器的作用。
答:常见的特殊目标寄存器一般有3种
程序计数器,用来保存下一条要执行的指令的地址,处理器在执行一条指令之前会从程序的计数器指示的内存地址处进行移植
栈地址寄存器,指向内存中栈的地址,当使用压栈指令进行压栈操作的时候,栈地址寄存器的值会自动减少,当使用退栈指令从栈中取数据的时候,栈地址寄存器的值会自动增加
状态寄存器,一般包括各种状态位以所反映处理器的当前状态
12论述嵌入式软件开发构建阶段任务,以及每个步骤的功能内容。
答:嵌入式软件开发构建阶段的主要任务是把代码转换成可以在嵌入式硬件上执行的程序,主要有3个步骤
编译,把人类可读可写的语言所编写成的程序,翻译成特定处理器上等效的一系列操作码,即目标文件
链接,把第一步产生的所有目标文件链接成一个目标文件,即可重定位程序,并进行符号管理
定址和打包,把第二步得到的可重定位程序整合成一个可以在嵌入式系统上运行二进制映像文件
13论述软硬件协同设计的大致流程。
答:软硬件协同设计的大致流程有4步
用HDL语言和C语言进行系统描述并进行模拟仿真和系统功能验证
对软硬件实现功能进行划分,分别用语言进行设计并将其综合起来进行功能验证和性能预测等仿真确认
如果没有问题,则进行软件和硬件详细设计
最后进行软件测试
14论述常见的Cache更新主内存的方式有几种,如何操作的,有什么有缺点。
答:常见的cache更新主内存的方式主要有2种
直写,即CPU在向cache写入数据的同时也把数据写入主内存,以保持cache和主内存中相应单元数据的一致性,优点是简单可靠,缺点是速度慢
回写,即CPU只向cache写入并用标记加以注明,直到cache中被写过的块要被进入的信息块取代时,才一次性的写入主内存,优点是速度快,缺点是结构复杂
15论述嵌入式软件开的阶段以及各个阶段的任务。
答:
编码阶段:把系统的需求和设计转换变成某种语言的实现
构建阶段:把代码转换成可以嵌入式硬件上执行的程序
部署阶段:把可执行的运行是映像或可执行文件部署到嵌入设备上
运行阶段:即运行使用部署到嵌入式设备上的程序
16.论述复杂的嵌入式软件系统的四层构成,以及每层的作用。
答:
板极支持包,为了抽象操作系统对硬件的操作,从而可以使操作系统的代码与硬件无关
操作系统,是统一管理资源的软件系统,把诸多的硬件功能进行抽象,以服务的形式提供给应用程序
应用编程接口,是操作系统提供给应用程序的编程接口
应用程序,位于最顶层,负责系统功能和业务逻辑的实现
17.ELF的含义是什么,论述ELF的三个不同的类型文件以及含义。
答:ELF全称ExecutableandLinkingFormat即可执行链接格式,作为应用程序进行接口的一部分,主要包括3种格式
可重定位文件,有编译器和汇编器创建在运行前需要由链接器处理
可执行文件,完成了所有的重定位工作和符号解析
共享目标文件,就是共享库,即包括连接器所需要的符号信息,也包括运行时可以直接执行的代码
18.论述进程的状态,以及每个状态的含义。
答:进程在运行时有5个状态:
新的,表示进程正在被创建;
运行,表示指令正在被执行;
等待,表示进程正在等待一定时间的出现。
就绪,表示进程正在等待被分配给某个处理器。
19.论述DSP的广义理解和狭义理解的含义,以及DSP器件的特性。
答:DSP的广义理解,译为数字信号处理,信号的分析和更改是经由顺序分开以代表此信号的数字化格式的信息,通常比类的处理需大量的数字运算。
DSP的侠义理解,译为数字信号处理器,即针对数字信号处理而发展出的处理器。
DSP器件的特点主要有6个:
在单指令周期内完成乘加运算;
高速的运算能力;
一般采用哈佛结构和流水线设计;
芯片具有满足数字信号算法特殊要求的功能;
数据交换的能力高;
支持兵行处理指令。
20.指令模拟器有几种分类标准,每种分类标准分类及内容各是什么。
答:指令模拟器有两种分类标准:
A.按照体系建构来分,包括:
同构模拟器,指在某种体系架构的处理器之上,使用软件模拟出另外一个与自己相同的虚拟机。
异构模拟器,在一种体系架构的处理器之上,模拟另外一种处理器的执行。
B.按照实现方式来分,包括:
解释性模拟器,在内存中建立一个代表目标处理器状态的数据结构,根据目标处理器的指令集定义解释的方式‘执行’目标软件,执行的结构是修改处理器的状态,从而完成及的模拟。
编译型模拟器,将目标指令翻译为用于操作目标标记状态的一组宿主指令,被模拟的机器状态通常被保持在宿主机的全局存储空间中。
21.论述嵌入式系统开发中的角色。
答:嵌入式系统开发中的角色主要有7个:
芯片制造者,负责制作包括CPU、网卡、RAM、Flash等厂商。
设备制造者,负责制造硬件开发板和产品板,从芯片制造者手中购买各种芯片,然后自己进行硬件设计和制板。
OS提供者,负责提供嵌入式OS。
系统继承商,根据某些特点的应用需求,定制特定的OS。
独立软件开发商,负责在OS之上开放有独立功能的应用程序。
独立硬件开发商,负责开放某些硬件外设,通常还需编写并提供这些硬件的驱动程序。
最终用户,即产品的最终使用者。
22.论述特殊目的寄存器的作用,有哪些常见的特殊目的寄存器、以及它们的功能。
答:特殊目的寄存器一般存储处理器内部的一些特殊的数据。
程序计数器,用来保存下一条要执行的指令的地址。
栈地址寄存器,只内存中栈的顶端。
状态寄存器,包含各种状态位,以反映处理器的当前状态。
23.论述在嵌入式系统开放中,影响调试的外围因素。
答:在嵌入式系统开发中,影响调试的外围因素主要有3个
硬件缺陷,嵌入式系统中并非所有的问题都是软件导致的,很多时候在嵌入式系统开发中,硬件的错误比软件的错误复杂的多,也严重的多
编译器自动优化,编译器优化期间会对程序代码的顺序,变量的个数进行自动调整,增加了调试的难度,过多的优化级本身就有可能引入错误
外界环境的干扰,外界环境的干扰主要作用于硬件让系统产生意想不到的问题
925
人