亲爱的小伙伴们,好久没有更新文章了。最近很多网友在知乎留言说,2019年软考嵌入式系统设计师马上就要开考了,希望我能够推出系列重点知识串讲,以帮助大家顺利通过考试。所以就有了今天的这片文章。

一、嵌入式系统基础知识(上)

1、嵌入式系统的定义

(1)定义:

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

(2)嵌入式系统发展的4个阶段:

无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向连接阶段。

(3)IP:

具有知识产权的、功能具体、接口规范、可重复使用的功能模块,是实现片上系统SOC的基本构件。IP核模块有行为、结构、和物理3级不同程度的设计,对应描述功能行为的不同可以分为三类:软核、固核、硬核。

2、嵌入式系统的组成:

(1)硬件层:

微处理器、存储器、通用设备接口和I/O接口。其中,微处理器+电源模块+时钟模块+存储器构成了嵌入式核心模块。同时,也别忘了Cache,它主要是匹配内存和CPU的速度差异。

(2)中间层:

又叫硬件抽象层,连接系统上层软件和底层硬件。主要完成2个工作:一是嵌入式系统的硬件初始化和BSP;2是硬件相关的驱动设备。

硬件初始化包含3个层次:一是片级初始化(纯硬件的初始化);二是板级初始化(包含软硬件两部分在内的初始化过程);三是系统级初始化(以软件为主的初始化,即操作系统的初始化)。

(3)系统软件层:

由RTOS、文件系统、GUI、网络系统及通用组件模块组成。

(4)应用软件层:

由基于操作系统开发的应用程序组成。

3、实时系统

(1)定义:

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

(2)区别:

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

(3)特点:

时间约束性、可预测性、可靠性、与外部环境的交互性。

(4)硬实时:

指应用的时间需求能得到完全的满足,否则造成致命后果。如航天、医疗、军事方面的应用

(5)软实时:

指应用的时间需求能得到较好的满足,偶尔会不满足,但不会造成致命后果。如监控、采集应用等。

(6)任务的约束:

时间约束、资源约束(内存容量、接口等)、执行顺序约束、性能约束。

4、实时系统的调度

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

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

(3) 非抢占式调度: 通常是按时间片分配的调度 , 不允许任务在执行期间被中断 , 任务一旦占用处理器就必须执行完毕或自愿放弃 , 如 WinCE 。 优点是上下文切换少 ; 缺点是处理器有效资源利用率低 , 可调度性不好。

(4) 静态表驱动策略: 系统在运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表,指明各任务的起始运行时刻及运行时间。

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

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

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

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

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

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

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

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

I :高级语言程序编译后在机器上运行的指令数;CPI :为执行每条指令所需要的平均周期数;T :每个机器周期的时间。

( 4 )流水线的思想:在 CPU 中把一条指令的串行执行过程变为若干指令的子过程在 CPU 中重叠执行 。

( 5 )流水线的指标:

吞吐率 : 单位时间里流水线处理机流出的结果数 。 如果流水线的子过程所用时间不一样长 , 则吞吐率应为最长子过程的倒数。

建立时间 :流水线开始工作到达最大吞吐率的时间。若 m 个子过程所用时间一样,均为 t ,则建立时间 T = mt 。

( 6 )信息存储的字节顺序

 A 、存储器单位:字节( 8 位)

B 、 字长 决定了微处理器的寻址能力,即虚拟地址空间的大小。

C 、 32 位微处理器的虚拟地址空间位 2^32 ,即 4GB 。

D 、 小端字节顺序 :低字节在内存低地址处,高字节在内存高地址处。

E 、 大端字节顺序 :高字节在内存低地址处,低字节在内存高地址处。

 F 、网络设备的存储顺序问题取决于 OSI 模型底层中的 数据链路层