嵌入式系统基础知识

时间:2011-09-02

  一、引言

  嵌入式系统设计师的一天考试分为上午和下午部分,两部分的考试方式、试题难度、考点分布和复习方法都是不同的。这次我们讨论的是嵌入式系统基础知识,我本人觉得,这部分出下午大题的可能性不大,主要是分布在上午的75道选择题之中。

  从历年的真题和考试大纲来看,上午的选择题主要考查一些基本概念,重要原理的理解,一些关键技术和一些重要的原理引申出来的简单计算。根据这些考试特点,复习的时候可以采用适当的策略,当然每个人的方法都是不一样的,适合自己的办法才是的办法。

  在复习的过程中,你要记住:你不是要考一个很高的分数,而是要考一个通过的分数,在复习过程中可以放弃一些内容,只要保证在大部分基本概念,关键技术,重要原理和历年考点上都把握住,能够拿到需要的分数就可以了。

  二、 概述

  2.1    嵌入式系统的定义和组成

  *        定义:以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

  *        知识产权核(IP core)设计是片上系统(SOC)设计的基础。

  *        组成:硬件层、中间层(硬件抽象层板级支持包)、系统软件层、应用软件层

  2.2    嵌入式微处理器体系结构

  *         冯诺依曼结构  将程序指令存储器和数据存储器合并在一起的存储器结构。  8086、ARM7、MIPS

  *         哈佛结构  将程序指令存储器和数据存储器分开的一种存储结构。程序存储器和数据存储器是相互独立的存储器,系统中有4套总线:程序的数据总线和地址总线、数据的地址总线和数据总线。 MC68、Z8、AVR、ARM9、ARM10、ARM11

  *         CISC

  *         RISC

  *         流水线技术    取指令、分析指令、执行指令    吞吐率  建立时间

  *         信息存储的字节顺序    小端字节顺序存储:低字节数据存放在内存的低地址处          大端字节顺序存储法:低字节数据存放在内存的高地址处

  2.3    嵌入式系统的硬件基础

  *         组合逻辑电路无存储功能   共阴LED显示器适用于高电平驱动,共阳LED显示器适用于低电平驱动

  *         时序逻辑电路

  *         三态门(ST门)  主要用来避免多门输出同时占据数据总线  输出为推拉式低阻输出,不需要接上拉电阻,故开关速度比集电极开路的门电路(OC)快,常用三态门作为输出缓冲器。

  *        总线负载能力(驱动能力)  当总线接负载超过总线负载能力时,在总线和负载间加接缓冲器或驱动器,常用的是三态缓冲器,其作用是驱动和隔离。

  *        单向总线驱动器 74244 ,双向总线驱动器 74245

  *        总线仲裁  是在多个总线主设备的环境下被提出来的。串联、并联优先级判别法

  *        TTL、ECL、CMOS 电平转换

  *        可编程阵列逻辑器件(PAL) 采用可编程与门阵列和固定连接的或门阵列的基本结构型式。

  *        可编程逻辑阵列(PLA) 与门阵列与或门阵列都可编程

  *        可编程通用阵列逻辑器件(GAL)

  *        门阵列(GA)

  *        可编程程序门阵列(PGA)

  2.4    嵌入式系统中信息表示和运算基础

  *        原码、反码、补码 正数原码、反码、补码均相同,负数反码表示为该数原码除符号位外按位取反。负数补码位为1,其余位求反,末位加1。

  *         数的定点和浮点表示  一个浮点数是两个定点数组合而成的。

  *         非数值数据编码  ASCII字符编码 Unicode编码

  *         奇偶校验码 编码规则是先将所要传输的数据码元分组,在分组数据后面附加一监督位,使该组码连同监督位在内的码组中的“1”的个数为偶数(偶校验)或奇数(奇校验)。

  *         海明码  2^r >= n 或 2^r >= k+r+1

  *         循环冗余校验码(CRC)

  2.5    嵌入式系统得性能评价

  *         度量项目

  *         评价方法    测量法、模型法

  *         评估嵌入式系统处理器的主要指标   MIPS测试基准、Dhrystone、 EEMBC

  三、复习笔记

  1、嵌入式系统的定义

  (1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

  (2)嵌入式系统发展的4个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet阶段。

  (3)知识产权核(IP核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。

  (4)IP核模块有行为、结构和物理3级不同程度的设计,对应描述功能行为的不同可以分为三类:软核、固核、硬核。

  2、嵌入式系统的组成:硬件层、中间层、系统软件层和应用软件层

  (1)硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。

  嵌入式模块=微处理器+电源电路+时钟电路+存储器

  Cache:位于主存和嵌入式微处理器内核之间,存放的是近一段时间微处理器使用多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。

  (2)中间层(也称为硬件抽象层HAL或者板级支持包BSP):它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据BSP层提供的接口开发即可。

  (3)系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。

  RTOS是嵌入式应用软件的基础和开发平台。

  (4)应用软件:由基于实时系统开发的应用程序组成。

  3、实时系统

  (1)定义:能在指定或确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统。

  (2)区别:通用系统一般追求的是系统的平均响应时间和用户的使用方便;而实时系统主要考虑的是在坏情况下的系统行为。

  (3)特点:时间约束性、可预测性、可靠性、与外部环境的交互性。

  (4)硬实时(强实时):指应用的时间需求应能够得到完全满足,否则就造成重大安全事故,甚至造成重大的生命财产损失和生态破坏,如:航天、军事。

  (5)软实时(弱实时):指某些应用虽然提出了时间的要求,但实时任务偶尔违反这种需求对系统运行及环境不会造成严重影响,如:监控系统、实时信息采集系统。

  (6)任务的约束包括:时间约束、资源约束、执行顺序约束和性能约束。

  4、实时系统的调度

  (1)调度:给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程。

  (2)抢占式调度:通常是优先级驱动的调度,如uCOS。优点是实时性好、反应快,调度算法相对简单,可以保证高优先级任务的时间约束;缺点是上下文切换多。

  (3)优先级驱动策略:按照任务优先级的高低确定任务的执行顺序。

  (4)实时任务分类:周期任务、偶发任务、非周期任务。

  (5)实时系统的通用结构模型:数据采集任务实现传感器数据的采集,数据处理任务处理采集的数据、并将加工后的数据送到执行机构管理任务控制机构执行。

  5、嵌入式微处理器体系结构

  (1)冯诺依曼结构:程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,采用单一的地址及数据总线,程序和数据的宽度相同。例如:8086、ARM7、MIPS…

  (2)哈佛结构:程序和数据是两个相互独立的存储器,每个存储器独立编址、独立访问,是一种将程序存储和数据存储分开的存储器结构。例如:AVR、ARM9、ARM10…

  (3)CISC与RISC的特点比较(参照教程22页)。

  计算机执行程序所需要的时间P可以用下面公式计算:

  P=I×CPI×T

  6、总线电路及信号驱动

  (1)总线是各种信号线的集合,是嵌入式系统中各部件之间传送数据、地址和控制信息的公共通路。在同一时刻,每条通路线路上能够传输一位二进制信号。按照总线所传送的信息类型,可以分为:数据总线(DB)、地址总线(AB)和控制总线(CB)。

  (2)总线的主要参数:

  总线带宽:一定时间内总线上可以传送的数据量,一般用MByte/s表示。

  总线宽度:总线能同时传送的数据位数(bit),即人们常说的32位、64位等总线宽度的概念,也叫总线位宽。总线的位宽越宽,总线每秒数据传输率越大,也就是总线带宽越宽。

  7、电平转换电路

  (1)数字集成电路可以分为两大类:双极型集成电路(TTL)、金属氧化物半导体(MOS)。

  (2)CMOS电路由于其静态功耗极低,工作速度较高,抗干扰能力较强,被广泛使用。

  (3)解决TTL与CMOS电路接口困难的办法是在TTL电路输出端与电源之间接一上拉电阻R,上拉电阻R的取值由TTL的高电平输出漏电流IOH来决定,不同系列的TTL应选用不同的R值。

  8、可编程逻辑器件基础(具体参见教程51到61页)

  这方面的内容,从总体上有个概念性的认识应该就可以了。

  9、差错控制编码

  (1)根据码组的功能,可以分为检错码和纠错码两类。检错码是指能自动发现差错的码,例如奇偶检验码;纠错码是指不仅能发现差错而且能自动纠正差错的码,例如循环冗余校验码。

  (2)奇偶检验码、海明码、循环冗余校验码(CRC)。(教程70到77页)

  10、嵌入式系统的度量项目

  (1)性能指标:分为部件性能指标和综合性能指标,主要包括:吞吐率、实时性和各种利用率。

  (2)可靠性与安全性

  可靠性是嵌入式系统重要、突出的基本要求,是一个嵌入式系统能正常工作的保证,一般用平均故障间隔时间MTBF来度量。

  (3)可维护性:一般用平均修复时间MTTR表示。

  (4)可用性

  (5)功耗

  (6)环境适应性

  (7)通用性

  (8)安全性

  (9)保密性

  (10)可扩展性

  性价比中的价格,除了直接购买嵌入式系统的价格外,还应包含安装费用、若干年的运行维修费用和软件租用费。

  11、嵌入式系统的评价方法:测量法和模型法

  (1)测量法是直接基本的方法,需要解决两个问题:

  A、根据研究的目的,确定要测量的系统参数。

  B、选择测量的工具和方式。

  (2)测量的方式有两种:采样方式和事件跟踪方式。

  四、真题解析

  1、2007年4、5题

  若每一条指令都可以分解为取指、分析和执行三步。已知取指时间t取指=4△t,分析时间t分析=3△t,执行时间t执行=5△t。如果按串行方式执行完100条指令需要 (4) △t。如果按照流水线方式执行,执行完100条指令需要 (5) △t。

  (4)A. 1190            B. 1195             C. 1200          D. 1205

  (5)A. 504             B. 507              C. 508           D. 510

  <答案>:C、B

  考查流水线技术知识点。

  按照串行的方式,执行完一条指令才能执行下一条指令,那么执行完100条指令的时间为:(4+3+5)×100=1200

  按照流水线的方式,可以同时执行多条指令。在条指令进行分析的时候,第二条指令已经开始取指;当条指令进行执行的时候,第二条指令进行分析,第三条指令取指;当第二条指令进行执行完的时候,第三条指令已经分析完成。依此类推,当条指令完成之后,每一个执行的周期就可以完成一条指令。需要注意的是,如果流水线的子过程所用时间不一样长,则吞吐率应以长子过程来计算。因此,我们可以计算得100条指令的执行时间为:(4+3+5)+(100-1)×5=507。

  2、2007年24题

  某总线有104根信号线,其中数据总线(DB)32根,若总线工作频率为33MHz,则其理论传输率为 (24) 。(注:本题答案中的B表示Byte)

  (24)A. 33 MB/s            B. 64MB/s     C. 132 MB/s        D. 164 MB/s

  <答案>:C

  考查总线这个知识点。

  根据上面的笔记,总线带宽 = 总线位宽×总线频率/8=32×33/8=132MB/s。

  3、2007年26题

  某存储器数据总线宽度为32bit,存取周期为250ns,则该存储器带宽为 (26) 。(注:本题答案中的B表示Byte)

  (26)A. 8×106B/s       B. 16×106B/s   C. 16×108B/s      D. 32×106B/s

  <答案>:B

  考查总线这个知识点。

  存储器带宽即总线带宽,总线频率为:1/250ns=4×106

  存储器带宽为:32×4×106/8=16×106B/s

  4、2007年27题

  处理机主要由处理器、存储器和总线组成,总线包括 (27) 。

  (27)A. 数据总线、串行总线、逻辑总线、物理总线

  B. 并行总线、地址总线、逻辑总线、物理总线

  C. 并行总线、串行总线、全双工总线

  D. 数据总线、地址总线、控制总线

  <答案>:D

  考查总线这个知识点,基本概念的考查。

  5、2007年35题

  三极管是可控的开关器件,其饱和与截止状态分别对应开关的接通和断开状态。UBE为基极输入电压,VTH为基极域值电压,如果UBETH,开关应处于 (35) 状态。

  (35)A. 接通           B. 三态        C. 断开          D. 高阻

  <答案>:C

  考查电路中基本的基础知识点,我觉得做不对的根本不能算嵌入式系统开发入门。

  6、2007年36题

  如下图所示,若低位地址(A0-A11)接在内存芯片地址引脚上,高位地址(A12-A19)进行片选译码(其中,A14和A16没有参加译码),且片选信号低电平有效,则对下图所示的译码器,不属于此译码空间的地址为 (36) 。

  (36)A. AB000H~ABFFFH             B. BB000H~BBFFFH

  C. EF000H~EFFFFH              D. FE000H~FEFFFH

  <答案>:D

  考查数字电路中译码知识和存储系统中统一编址的问题,相对来说,这个题目有点难度,但是对于学习过和亲身做过单片机的兄弟来说,基本不过了。

  7、2007年46题

  (46) 完全把系统软件和硬件部分隔离开来,从而大大提高了系统的可移植性。

  (46)A. 硬件抽象层     B. 驱动映射层  C. 硬件交互层    D. 中间层

  <答案>:A

  考查嵌入式系统组成中的概念。

  8、2006年3题

  设指令由取指、分析、执行3个子部件完成,每个子部件的工作周期为△t,采用常规标量单流水线处理机。若连续执行10条指令,则共需要时间(3)△t。

  (3)A.8    B.10    C.12    D.14

  <答案>:C

  考查流水线技术知识点。

  3+(10-1)×1=12

  9、2006年4、5题

  某计算机的时钟频率为400MHz,测试计算机的程序使用4种类型的指令。每种指令的数量及所需要的指令时钟数(CPI)如下表所示,则该计算机的指令平均时钟数为(4);该计算机的运算速度为(5)MIPS。

  指令类型              指令数目(条)           每条指令需要的时钟数

  1                   160000                                       1

  2                   30000                                        2

  3                   24000                                        4

  4                   16000                                        8

  (4)A.1.85            B.1.93            C.2.36            D.3.75

  (5)A.106.7          B.169.5          C.207.3          D.216.2

  <答案>:B、C

  考查指令运行方面的简单计算。

  平均时钟数=(160000+2×30000+4×24000+8×16000)/(160000+30000+24000+16000)=1.93

  MIPS是指每秒种执行多少百万条指令,即106。

  计算机的运行数度为:400/1.93=207.25=207.3MIPS

  9、2006年12题

  计算机要对声音信号进行处理时,必须将它转换为数字声音信号。基本的声音信号数字化方法时取样-量化法。若量化后的每个声音样本用2个字节表示,则量化分辨率是(12)

  (12)A.1/2          B.1/1024               C.1/65536             D.1/131072

  <答案>:C

  考查声音编码种量化计算的知识点。

  2个字节是16位,其量化分辨率位1/1016=1/65536。

  10、2006年13题

  某幅图像具有640×480个象素点,若每个象素具有8位的颜色深度,则可表示(13)种不同的颜色,经过5:1压缩后,其图像数据需要占用(14)(Byte)的存储空间。

  (13)A.8             B.256             C.512             D.1024

  (14)A.61440             B.307200        C.384000              D.3072000

  <答案>:B、A

  考查图像数据存储计算的知识点。

  8位颜色深度可以表示28=256种颜色深度。

  经过5:1压缩后的数据大小为:640×480×8/8/5=61440。

  11、2006年23题

  若某逻辑门输入A、B和输出F的波形如下图所示,则F(A,B)的表达式为(23)

  (23)    A.F=A B                B.F=A+B

  C.F=A异或B         D.F=A(B的非)

  ___         __

  A_______|    |____|    |_______

  _______

  B_______|             |___________

  ______

  F___________|          |_______

  <答案>:C

  考查数字电路的基本知识点,我觉得这个都搞不清楚很难通过这个考试。

  12、2006年24题

  一个4位的二进制计数器,由0000状态开始,经过25个时钟脉冲后,该计数器的状态为24

  (24)    A.1100           B.1000           C.1001           D.1010

  <答案>:C

  考查数字电路的基本知识点,相对上面一题有点难,需要对计数器的工作原理有比较清楚的理解。这个也是搞嵌入式系统的基础中的基础,参考教程38页或相关的数电书籍。

  4位的计数器,其计数范围是24=16,0000开始经过16个时钟脉冲之后又回到了开始的状态0000。25-16=9,所以说经过25个时钟之后,其计数器的数值应该是9=1001。

  13、2006年25题

  稳压二极管构成的稳压电路的接法是(25)

  (25)       A.稳压管与负载电阻串联。

  B.稳压管与限流电阻并联。

  C.限流电阻与稳压管串联后,在与负载电阻串联。

  D.限流电阻与稳压管串联后,在与负载电阻并联。

  <答案>:D

  考查模拟电路的基本知识点,实在太简单,不知道从那里开始分析了。

  14、2006年26题

  以下叙述中,不符合RISC指令系统特点的是(26)

  (26)       A.指令长度固定,指令种类少。

  B.寻址方式种类丰富,指令功能尽量增强。

  C.设置大量通用寄存器,访问存储器指令简单。

  D.选取使用频率较高的一些简单指令。

  <答案>:B

  考查RISC与CICS的区别,考生应该清楚他们的区别,参加教程22页。

  五、小结

  就我个人的意见,从内容来看,嵌入式系统基础知识的范围很广,知识点很多,而且没有很强的逻辑性,显得比较凌乱,很难将他们有序的组织在一起。但是也不要害怕,内容虽然多而乱,但是考试的题目都比较简单,有些题目几乎是所见即所得。只要你做过嵌入式或者单片机方面的工作,你都能做出来。



  
上一篇:解析u-boot的Makefile
下一篇:浅谈用ModelSim+Synplify+Quartus来实现Altera FPGA的仿真

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料