免费智能真题库 > 历年试卷 > 系统架构设计师 > 2013年下半年 系统架构设计师 上午试卷 综合知识
  第11题      
  知识点:   可靠性   嵌入式系统   系统可靠性   中断
  关键词:   嵌入式系统   系统可靠性   中断   可靠性   嵌入式        章/节:   嵌入式系统       

 
看门狗(WatchDog)是嵌入式系统中一种常用的保证系统可靠性的技术,(11)会产生看门狗中断
 
 
  A.  软件喂狗
 
  B.  处理器温度过高
 
  C.  外部中断
 
  D.  看门狗定时器超时
 
 
 

 
  第10题    2014年下半年  
   52%
以下嵌入式处理器类型中不具备内存管理单元(MMU)的是(10),嵌入式操作系统(11)可以运行在它上面。
  第1题    2016年下半年  
   39%
在嵌入式系统的存储部件中,存取速度最快的是(1)。
  第3题    2016年下半年  
   43%
嵌入式处理器是嵌入式系统的核心部件,一般可分为嵌入式微处理器(MPU)、微控制器(MCU)、数字信号处理器(DSP)和片上系统(SOC)。以..
   知识点讲解    
   · 可靠性    · 嵌入式系统    · 系统可靠性    · 中断
 
       可靠性
        (1)完备性。完备性评价指标及测量,如下表所示。
        
        完备性评价指标及测量
        (2)连续性。连续性评价指标及测量,如下表所示。
        
        连续性评价指标及测量
        
        (3)稳定性。稳定性评价指标及测量,如下表所示。
        
        稳定性评价指标及测量
        (4)有效性。有效性评价指标及测量,如下表所示。
        
        有效性评价指标及测量
        (5)可追溯性。可追溯性评价指标及测量,如下表所示。
        
        可追溯性评价指标及测量
        
 
       嵌入式系统
        嵌入式计算机系统是与特定功能的设备集成在一起、且隐藏在这个功能系统内部为预定任务而设计的计算机系统。该计算机可对设备的状态进行采集,包括操作者的命令和受控对象的状态,按照设备所要求的、预先设定的特定规律进行计算,计算结果作为命令输出到设备的某些部件,控制某些操作,同时将人所关心的信息显示给操作者。一个典型的嵌入式系统如下图所示。
        
        嵌入式系统组成
        上述嵌入式系统的输入、处理、输出的各个部分,一般情况下都是通过软件运行完成的。因此嵌入式软件是嵌入式系统的重要组成部分,而且体现了系统的思想、方法和规律。
        在当今社会中,嵌入式系统已经和我们的生活息息相关,人们每时每刻都离不了嵌入式系统,如下图所示。
        
        嵌入式系统基本分类
        嵌入式系统一般是实时系统,《牛津计算机字典》对实时系统解释是:“系统的输入对应于一个外部物理世界的运动,而系统输出对应着另外一个物理世界的运动,而这两个运动的时间差必须在可接受的足够小的范围内,实时性就体现在从输入到形成输出所需的时间。”实时系统又进一步定义为硬实时系统和软实时系统两种,如下表所示。
        
        实时系统分类及其特性
        一般认为,嵌入式计算机相对于个人计算机或超级计算机,在软件或硬件上的资源是有限的,硬件资源体现在处理速度、功耗、存储空间等方面,软件资源指有限的应用、有限的操作系统支持、应用代码量少等方面。
        第一款大批量生产的嵌入式系统是美国1961年发布的民兵Ⅰ型导弹内嵌的D-17自动制导计算机。
        随着20世纪60年代早期应用开始,嵌入式系统的价格迅速降低,同时处理功能和能力获得快速提高。以第一款单片机Intel 4004为例,在存储器和外围芯片的配套使用下,实现了计算器和其他小型系统。1978年,美国国家工程制造商协会发布了可编程单片机的“标准”,涵盖了几乎所有以计算机为基础的控制器,如单板计算机、数控设备以及基于事件的控制器,使得微处理器得到了快速发展。
        无一例外,不断发展中的嵌入式计算功能的实现都通过用户需求驱动、顶层定义、硬件定义开始,但核心是软件的算法处理,实际上类似硬件功能通过不同软件的控制就可以实现不同用户所需要的嵌入式功能,如下图所示。
        
        嵌入式计算机的层次化架构
        当基础硬件接口、计算和存储资源、总线与网络乃至各种传感器、作动器、液压等以模块化、通用化、组合化等变得越来越成熟,他们就可以方便地组合成硬件平台。而软件却恰恰相反,基本是为满足人类某种新的设想或应用要求开始进行新的设计。这些设计从诸如领域、实现功能、性能、可靠性、安全性等方面,可以是全新理念设备、或是适应性修改升级等途径,都会导致软件有不同程度的差异。
        嵌入式系统具有以下特征:
        (1)嵌入式系统的时间敏感性。嵌入式实时系统对时间响应都是有要求的。例如对于一个设备的运动控制系统,从操作指令发出,嵌入式计算机根据指令和外部条件计算并输出到动作器的动作,要保证在所有的条件下、在确定的时间内产生所需的输出。这对于设计者来说,一般的实时系统都会围绕这个关键需求进行系统设计。另外为了满足时间敏感性要求,确保在最复杂行为和最大延时情况下,系统操作不发生延迟,要求处理器的利用率要有40%左右的余量。有时为满足某些强实时嵌入式系统的应答时间限定在毫秒级或更低,需要在高级语言中嵌入低级语言编程实现。
        (2)嵌入式系统的可靠性和安全性。嵌入式计算机系统的失效带来的可能是个人娱乐系统故障的微小损失,可能是铁路信号失效的巨额经济损失,也可能是战略武器控制等经济损失以及重大的社会政治影响等。所以在某种设计缺陷被诱发后,对于不同的系统需要采取不同的策略,例如对具有重大影响的系统,要求计算机或计算机软件对设计缺陷、制造缺陷等失效采取“永不放弃”的安全性设计技术,将损失控制在可接受的范围内。在有人为输入情况下,嵌入式系统还需考虑最大可能地减少人为失误所引起的系统失效。这些算法或机制可以是输入有效性合理性检查、硬件容错、软件容错、错误后的系统缓慢降级、系统进入安全模式等。
        (3)嵌入式软件的复杂性。软件复杂度取决于问题规模和复杂度。简单问题的软件可由个人完成,甚至可以进行软件正确性证明;即使过程中更换人员,花费少许时间就可掌握和维护。但如汽车控制、飞机控制等大型复杂软件,其需要根据复杂的外部输入、按照多变量物理规律和人们的预期,实现预定的功能。软件需要根据系统的外部事件及其组合,考虑各种处理、逻辑、时序、边界、超出边界的鲁棒性等进行详细算法和策略研究。还需要考虑如安全性、可靠性、维护性等质量要求。更困难的是大规模软件需要团队联合定义、并行开发、持续维护,同时考虑处理平台限制条件。
 
       系统可靠性
        系统可靠性是系统在规定的时间内及规定的环境条件下,完成规定功能的能力,也就是系统无故障运行的概率。这里的故障是系统行为与需求的不符,故障有等级之分。系统可靠性可以通过历史数据和开发数据直接测量和估算出来,与之相关的概念主要有平均无故障时间、平均故障修复时间、平均故障间隔时间、系统可用性等。
        (1)平均无故障时间。可靠度为Rt)的系统的平均无故障时间(Mean Time To Failure, MTTF)定义为从t=0时到故障发生时系统的持续运行时间的期望值,计算公式如下:
        
        如果Rt)=e-λt,则MTTF=1/λλ为失效率,是指器件或系统在单位时间内发生失效的预期次数,在此处假设为常数。例如,假设同一型号的1000台计算机,在规定的条件下工作1000小时,其中有10台出现故障。这种计算机千小时的可靠度R为(1000-10)/1000=0.99。失效率为10/(1000×1000)=1×10-5。因为平均无故障时间与失效率的关系为MTTF=1/λ,因此,MTTF=105小时。
        (2)平均故障修复时间。可用度为At)的系统的平均故障修复时间(Mean Time ToFix, MTTR)可以用类似于求MTTF的方法求得。设A1t)是在风险函数Zt)=0且系统的初始状态为1状态的条件下At)的特殊情况,则
        
        此处假设修复率μt)=μ(常数),修复率是指单位时间内可修复系统的平均次数,则:
        MTTR=1/μ
        (3)平均故障间隔时间。平均故障间隔时间(Mean Time Between Failure, MTBF)常常与MTTF发生混淆。因为两次故障(失败)之间必然有修复行为,因此,MTBF中应包含MTTR。对于可靠度服从指数分布的系统,从任一时刻t0到达故障的期望时间都是相等的,因此有:
        MTBF=MTTR+MTTF
        在实际应用中,一般MTTR很小,所以通常认为MTBF≈MTTF。
        (4)系统可用性。系统可用性是指在某个给定时间点上程序能够按照需求执行的概率,其定义为
        可用性=MTTF/(MTTF+MTTR)×100%
        计算机系统是一个复杂的系统,而且影响其可靠性的因素也非常繁复,很难直接对其进行可靠性分析。但通过建立适当的数学模型,把大系统分割成若干子系统,可以简化其分析过程。
               串联系统
               假设一个系统由n个子系统组成,当且仅当所有的子系统都能正常工作时,系统才能正常工作,这种系统称为串联系统,如下图所示。
               
               串联系统
               设系统各个子系统的可靠性分别用R1R2,…,Rn表示,则系统的可靠性为:
               R=R1×R2×…×Rn
               如果系统的各个子系统的失效率分别用λ1λ2,…,λn来表示,则系统的失效率为:
               λ=λ1+λ2+…+λn
               并联系统
               假如一个系统由n个子系统组成,只要有一个子系统能够正常工作,系统就能正常工作,如下图所示。
               
               并联系统
               设系统各个子系统的可靠性分别用R1R2,…,Rn表示,则系统的可靠性为:
               R=1-(1-R1)×(1-R2)×…×(1-Rn
               假如所有的子系统的失效率均为λ,则系统的失效率为:
               
               在并联系统中只有一个子系统是真正需要的,其余n-1个子系统称为冗余子系统,随着冗余子系统数量的增加,系统的平均无故障时间也增加了。
               模冗余系统
               m模冗余系统由m个(m=2n+1为奇数)相同的子系统和一个表决器组成,经过表决器表决后,m个子系统中占多数相同结果的输出作为系统的输出,如下图所示。
               
               模冗余系统
               在m个子系统中,只有n+1个或n+1个以上子系统能正常工作,系统就能正常工作,输出正确结果。假设表决器是完全可靠的,每个子系统的可靠性为R0,则m模冗余系统的可靠性为:
               
               其中为从m个元素中取j个元素的组合数。
               在实际应用系统中,往往是多种结构的混联系统。例如,某高可靠性计算机系统由下图所示的冗余部件构成。
               显然,该系统为一个串并联综合系统,我们可以先计算出中间2个并联系统的可靠度,根据并联公式R=1-(1-R1)×(1-R2)×…×(1-Rn),可得到3个部件并联的可靠度为1-(1-R3,2个部件并联的可靠度为1-(1-R2。然后,再根据串联公式R=R1×R2×…×Rn,可得到整个系统的可靠度为:R×(1-(1-R3)×(1-(1-R2)×R
               
               某计算机系统
 
       中断
        中断是异步发生的,是来自处理器外部的I/O设备的信号的结果。硬件中断不是由任何一条专门的指令造成的,从这个意义上来说它是异步的。硬件中断的异常处理程序常常被称为中断处理程序(interrupt handler)。
               硬中断与软中断
               硬中断是由硬件产生的,例如磁盘、网卡、键盘、时钟等。每个设备或设备集都有它自己的IRQ(中断请求)。基于IRQ,CPU可以将相应的请求分发到对应的硬件驱动上。
               软中断是一组静态定义的下半部分接口,可以在所有的处理器上同时执行,即使两个类型相同也可以。但是一个软中断不会抢占另外的一个软中断,唯一可以抢占软中断的是硬中断。
               可屏蔽中断与不可屏蔽中断
               可屏蔽中断和不可屏蔽中断都属于外部中断,是由外部中断源引起的。不可屏蔽中断源一旦提出请求,CPU必须无条件响应,而对可屏蔽中断源的请求,CPU可以响应,也可以不响应。
               CPU一般设置两根中断请求输入线:可屏蔽中断请求INTR(Interrupt Require)和不可屏蔽中断请求NMI(Non Maskable Interrupt)。对于可屏蔽中断,除了受本身的屏蔽位控制外,还都要受一个总的控制,即CPU标志寄存器中的中断允许标志位IF(Interrupt Flag)的控制,IF位为1,可以得到CPU的响应,否则,得不到响应。IF位可以由用户控制,指令STI或Turbo C的Enable()函数,将IF位置1(开中断),指令CLI或Turbo_c的Disable()函数,将IF位清0(关中断)。
               中断优先级
               当多个中断源同时请求中断时,而CPU一次只能响应其中的一个中断,同时为了能响应所有中断,就引入中断优先级来处理。系统会根据引起中断事件的重要性和紧迫程度,将中断源分为若干个级别,称作中断优先级。中断优先级有两种:查询优先级和执行优先级。
               查询优先级是不可以更改和设置的,在该方式下当多个中断源同时产生中断信号时,中断仲裁器会选择中断源优先处理的顺序,此过程与是否发生中断服务程序的嵌套毫不相干。当CPU查询各个中断标志位的时候,会依照优先级顺序依次查询,当数个中断同时请求的时候,会优先查询到高查询优先级的中断标志位,但并不代表高查询优先级的中断可以打断已经并且正在执行的低查询优先级的中断服务。
               由于可屏蔽的中断源很多,故需要对其进行管理,如区分是哪个中断源发出的中断信号?哪个中断源最优先及怎样处理多级中断嵌套等。为此,可使用中断控制器对多个可屏蔽中断源进行管理。
               中断控制器能够对中断进行排队管理,避免中断信号的丢失,同时支持对不同中断进行优先级的配置,使高优先级中断能够中断低优先级中断,满足系统中具有更高时间约束特性功能的需要。
               中断嵌套
               当处理器正在处理一个中断时,有比该中断优先级高的中断源发出中断请求时,如果处理器正在执行中断处理程序,那么处理器会对高优先级的中断进行立即处理,处理完之后再返回到低优先级的中断服务程序继续执行。这样就形成了中断服务程序中套用中断服务程序的情况,即中断嵌套。可嵌套中断的处理流程和中断服务框图如下图所示。
               
               可嵌套中断处理流程
   题号导航      2013年下半年 系统架构设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第11题    在手机中做本题