嵌入式系统及应用-试题一答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
答案及评分细则
课程名称:_嵌入式系统开发_ 考试形式:闭卷考试日期: 2012年月日考试时长:120分钟一、判断题(共15分,共15题,每题1分)
1.T
2.F
3.T
4.T
5. F
6.T
7.F
8.F
9.F
10. T
11. F
12.T
13.F
14.F
15.F
二、单向选择题(共20分,共10题,每题2 分)
1、D
2、D
3、B
4、D
5、C
6、C
7、B
8. C
9. D
10. C
三、填空题(共20分,共 20空,每题1 分)
1. 乘加操作 、 SIMD 类操作 、 零开销循环指令、 多媒体加速指令 。
2. 动态性 、 并行性 、 异步独立性 。
3. 取指令、 译码 、 执行 、 写寄存器 。
4. 外部中断 。
5. SWI , INT 。
6. 防止地址越界 和 防止操作越权 。
7. 存储器映射编址 , I/O 映射编址 。
8. 冯•诺依曼结构 哈佛结构
四、简答题( 共30分,共5题,第4题为9分,第5题6分,其余每题5分)
1.
答:任务是一个具有独立功能的无限循环的程序段的一次执行,是实时内核调度的单位,具有动态性、并行性和异步独立性等特征。( 1分 )
其中:1)动态性是任务状态是不断变化的,任务状态一般分为就绪态、运行态和等待态。在多任务系统中,任务的状态将随着系统的需要不断进行变化。( 1分 )
2)并行性是系统中同时存在多个任务,这些任务在宏观上是同时运行的。( 1分 )
3)异步独立性是每个任务各自按照相互独立的不可预知的速度运行,走走停停。( 1分 )
任务和进程的主要区别在于:任务的属性中(任务控制块中)包含了于时间相关的参数,比如:优先级别、周期、计算机时间、截止时间等,而内核对认为进行调度时,必须参考并遵循这些参数以确保任务的实时性与确定性。( 1分 )
2.
27 31 N Z C V Q
28 24 …… loop ADD r2, r2, r3 SUB S r1, r1, #0x01
B NE loop
答:第28到31位为条件标志位 (1分):
–N = ALU 产生负数结果 (0.5分)
–Z = ALU 产生结果是0 (0.5分)
–C = ALU 操作产生进位或借位 (0.5分)
–V = ALU 结果溢出 (0.5分)
(2分)
评分细则:见答案。
3.
答:
嵌入式软件的特点决定了其调试具有如下特点:
1) 一般情况下调试器和被调试程序运行在不同的计算机上,调试器主要运行在宿主机上,而被调试程序运行在目
标机上。(1分)
2) 调试器通过某种通信方式与目标机建立联系,通信方式可以室串口、并口、网络、JTAG 或者专业的通信方式。
(1分)
3) 一般在目标机器上有调试器的某种代理,这种代理能配合调试器一起完成对目标机上运行的程序的调试,这种
代理可以是某种软件,也可以是某种支持调试的硬件等。(1分)
4) 目标机器也可以是一种虚拟机,在这种情况下,似乎调试器和被调试程序运行在同一台计算机上,但是调试方
式的本质没有变化,即被调试程序都是被下载到了目标机器,调试并不是直接通过宿主机操作系统的调试支持
来完成的,而是通过虚拟机代理的方式来完成的。(1分)
5) 通过下表-1对上述答案做补充:(1分)
表-1交叉调试与非交叉调试
交叉调试
非交叉调试 调试器和被调试程序运行在不同的计算机上
调试器和被调试程序运行在同一计算机上 可独立运行,无需操作系统支持
需要操作系统支持 被调试程序的装载由调试器完成
被调试程序的装载专门的loader 程序完成 需要通过外部通信的方式来控制被调试程序
不需要通过外部通信的方式来控制被调试程序 可以直接调试不同指令集的程序
只能直接调试相同指令集的程序
评分细则:该题根据对每一点的简要叙述酌情给分。
4.
答:嵌入式实时操作系统采用了如下机制提高系统的实时性与确定性。
1)实时调度算法:比如RM,EDF 等确保任务截止时间的强实时调度算法。 (1分)
loop
ADD r2, r2, r3 SUB S r1, r1, #0x01 B NE loop
r2=r2+r3 if z=0, then end loop r1 – 1 and set flags
2)可抢占内核:技术系统运行在内核态,高优先级的任务仍然可抢占内核的运行。(1分)3)在中断处理过程中设置抢占点减小内核关中断时间。(1分)4)设计高效的数据结构(优先级位图法,双项链表,差分时间链等)。(1分)5)确定的内存管理:采用静态内存分配方式,不用虚拟内存管理。(1分)6)资源有效等待。(1分)7)解决好优先级反转:用优先级继承或者优先级天花板避免优先级反转。(1分)8)减小中断相应时间,提高中断处理速度。(1分)9)浮点数的优化处理,提高浮点运算的速度和效率。(1分)
评分细则:该题根据对每一点的简要叙述酌情给分。
5.
答:优先级反转(priority inversion): 优先级反转发生在一个高优先级的任务被迫等待一段不确定时间,有三个优先级不同的task,A,B,C; A的优先级最高,B次之,C最低。其中A和C有共
享的临界区。如果C已进入临界区,那么A在进入进入临界区之前,就会被阻塞。task B
有可能打断C而进入运行状态,这样C什么时候从临界区退出,就是一个未知的时间。A
只有C从临界区退出后才能被调度,A被阻塞的时间也是未知的。这样,低优先级的B先
于高优先级的A被调度,优先级发生了逆转。(2分)
1)优先级继承(priority inherence):优先级继承协议的基本思想是:当一个任务任务T阻塞一个或多个优先级更高的任务任务时,将T的优先级暂时提高到被它阻塞的所有任务中具有的最高
优先级,从而使T能够抢占它所阻塞的所有任务而进入临界区,并且不影响与它所进入的临界
区无关的其他高优先级的任务的执行.当T退出临界区时就恢复原来的优先级.优先级的继承
是可以传递的(transitive).例如,假设T1,T2,T3是3个优先级从高到低排列的任务,如果T3阻塞
T2,T2阻塞T1,则T3将通过T2而继承T1的优先级。(2分)
2)优先级天花板(priority ceiling):优先级天花板协议的目的在于解决优先级继承协议中存在的死锁和阻塞问题,优先级天花板指控制访问临界资源的信号量的优先级天花板,信号量的优
先级天花板为所有使用该信号量的任务任务的最高优先级。在基本的优先级继承协议的基础
上,Sha等人提出了一个改进的方案——优先级优先级天花板。与优先级继承协议不同的是,
优先级上限协议定义了信号量的优先级上限——一个信号量的优先级上限与可能锁定该信
号量的所有任务中优先级最高的任务相等;调度的时候不仅比较任务之间的优先级,还要比
较信号的优先级上限。当一个任务T要进入一个临界区的时候,如果T的优先级不比已经被
其他任务锁定的所有信号量的优先级上限高,则T被阻塞。(2分)
评分细则:该题根据对每一点的简要叙述酌情给分。
五、综合题(共15分,共2题,第1题为8分,第2题为7分)
1 (8分)在嵌入式实时操作系统中,对于时间等待的任务,可以组织为差分链表的方式进行管理。假设某个时刻,有一组任务T1、T2、T3、T4、T5,分别等待10、5、7、15、12个tick。
(1)画出由五个任务形成的差分链表;