软考嵌入式系统设计师笔记归纳总结

更新时间:2024-01-03 21:19:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软考嵌入式系统设计师笔记

1.嵌入式系统的组成:硬件层、中间层、系统软件层和应用软件层 (1)硬件层:嵌入式微处理器、存储器、通用设备接口和I/O 接口。 嵌入式核心模块=微处理器+电源电路+时钟电路+存储器

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

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

BSP 有两个特点:硬件相关性和操作系统相关性。 设计一个完整的BSP 需要完成两部分工作: A、嵌入式系统的硬件初始化和BSP 功能。

片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。

板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。

系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。 B、设计硬件相关的设备驱动。

(3)系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。 RTOS 是嵌入式应用软件的基础和开发平台。

(4)应用软件:由基于实时系统开发的应用程序组成。 2.嵌入式系统的定义

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

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

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

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

(1)调度:给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程。 (2)抢占式调度:通常是优先级驱动的调度,如uCOS。优点是实时性好、反应快,调度算法相对简单,可以保证高优先级任务的时间约束;缺点是上下文切换多。

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

(4)静态表驱动策略:系统在运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表,指明各任务的起始运行时刻及运行时间。 (5)优先级驱动策略:按照任务优先级的高低确定任务的执行顺序。 (6)实时任务分类:周期任务、偶发任务、非周期任务。

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

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

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

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

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

(5)软实时(弱实时):指某些应用虽然提出了时间的要求,但实时任务偶尔违反这种需求对系统运行及环境不会造成严重影响,如:监控系统、实时信息采集系统。 (6)任务的约束包括:时间约束、资源约束、执行顺序约束和性能约束。 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 模型底层中的数据链路层。 6.逻辑电路基础

(1)根据电路是否具有存储功能,将逻辑电路划分为:组合逻辑电路和时序逻辑电路。 (2)组合逻辑电路:电路在任一时刻的输出,仅取决于该时刻的输入信号,而与输入信号作用前电路的状态无关。常用的逻辑电路有译码器和多路选择器等。

(3)时序逻辑电路:电路任一时刻的输出不仅与该时刻的输入有关,而且还与该时刻电路的状态有关。因此,时序电路中必须包含记忆元件。触发器是构成时序逻辑电路的基础。常用的时序逻辑电路有寄存器计数器等。

(4)真值表、布尔代数、摩根定律、门电路的概念。(教程28、29 页)

(5)NOR(或非)和NAND(与非)的门电路称为全能门电路,可以实现任何一种逻辑函数。 (6)译码器:多输入多输出的组合逻辑网络。

每输入一个n 位的二进制代码,在m 个输出端中最多有一个有效。 当m=2n 是,为全译码;当m<2n 时,为部分译码。

(7)由于集成电路的高电平输出电流小,而低电平输出电流相对比较大,采用集成门电路直接驱动LED时,较多采用低电平驱动方式。液晶七段字符显示器LCD 利用液晶有外加电场和无外加电场时不同的光学特性来显示字符。

(8)时钟信号是时序逻辑的基础,它用于决定逻辑单元中的状态合适更新。同步是时钟控制系统中的主要制约条件。

(9)在选用触发器的时候,触发方式是必须考虑的因素。触发方式有两种: 电平触发方式:具有结构简单的特点,常用来组成暂存器。

边沿触发方式:具有很强的抗数据端干扰能力,常用来组成寄存器、计数器等。 7.总线电路及信号驱动

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

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

总线宽度:总线能同时传送的数据位数(bit),即人们常说的32 位、64 位等总线宽度的概念,也叫总线位宽。总线的位宽越宽,总线每秒数据传输率越大,也就是总线带宽越宽。 总线频率:工作时钟频率以MHz 为单位,工作频率越高,则总线工作速度越快,也即总线带宽越宽。

总线带宽= 总线位宽×总线频率/8, 单位是MBps。

常用总线:ISA 总线、PCI 总线、IIC 总线、SPI 总线、PC104 总线和CAN 总线等。 (3)只有具有三态输出的设备才能够连接到数据总线上,常用的三态门为输出缓冲器。 (4)当总线上所接的负载超过总线的负载能力时,必须在总线和负载之间加接缓冲器或驱动器,最常用的是三态缓冲器,其作用是驱动和隔离。

(5)采用总线复用技术可以实现数据总线和地址总线的共用。但会带来两个问题: A、需要增加外部电路对总线信号进行复用解耦,例如:地址锁存器。 B、总线速度相对非复用总线系统低。 (6)两类总线通信协议:同步方式、异步方式。

(7)对总线仲裁问题的解决是以优先级(优先权)的概念为基础。 8.电平转换电路

(1)数字集成电路可以分为两大类:双极型集成电路(TTL)、金属氧化物半导体(MOS)。 (2)CMOS 电路由于其静态功耗极低,工作速度较高,抗干扰能力较强,被广泛使用。

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

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

(2)奇偶检验码、海明码、循环冗余校验码(CRC)。(教程70 到77 页) 10.嵌入式系统的度量项目

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

(2)可靠性与安全性

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

(3)可维护性:一般用平均修复时间MTTR 表示。 (4)可用性 (5)功耗 (6)环境适应性 (7)通用性 (8)安全性 (9)保密性 (10)可扩展性

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

11.嵌入式系统中信息表示与运算基础

(1)进位计数制与转换:这样比较简单,也应该掌握怎么样进行换算,有出题的可能。 (2)计算机中数的表示:源码、反码与补码。

正数的反码与源码相同,负数的反码为该数的源码除符号位外按位取反。 正数的补码与源码相同,负数的补码为该数的反码加一。 例如-98 的源码:11100010B 反码:10011101B 补码:10011110B

(3)定点表示法:数的小数点的位置人为约定固定不变。

浮点表示法:数的小数点位置是浮动的,它由尾数部分和阶数部分组成。 任意一个二进制N 总可以写成:N=2P×S。S 为尾数,P 为阶数。

(4)汉字表示法(教程67、68 页),搞清楚GB2318-80 中国标码和机内码的变换。

(5)语音编码中波形量化参数(可能会出简单的计算题目哦) 采样频率:一秒内采样的次数,反映了采样点之间的间隔大小。 人耳的听觉上限是20kHz,因此40kHz 以上的采样频率足以使人满意。 CD 唱片采用的采样频率是44.1kHz。

测量精度:样本的量化等级,目前标准采样量级有8 位和16 位两种。

声道数:单声道和立体声双道。立体声需要两倍的存储空间。 12.嵌入式系统的评价方法:测量法和模型法

(1)测量法是最直接最基本的方法,需要解决两个问题: A、根据研究的目的,确定要测量的系统参数。 B、选择测量的工具和方式。

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

(3)模型法分为分析模型法和模拟模型法。分析模型法是用一些数学方程去刻画系统的模型,而模拟模型法是用模拟程序的运行去动态表达嵌入式系统的状态,而进行系统统计分析,得出性能指标。

(4)分析模型法中使用最多的是排队模型,它包括三个部分:输入流、排队规则和服务机构。

(5)使用模型对系统进行评价需要解决3 个问题:设计模型、解模型、校准和证实模型。 13.1.嵌入式微处理器的基本结构

(1)嵌入式硬件系统一般由嵌入式微处理器、存储器和输入/输出部分组成。

(2)嵌入式微处理器是嵌入式硬件系统的核心,通常由控制单元、算术逻辑单元和寄存器3大部分组成:

A、控制单元:主要负责取指、译码和取数等基本操作并发送主要的控制指令。 B、算术逻辑单元:主要处理数值型数据和进行逻辑运算工作。 C、寄存器:用于暂存临时性的数据。 2.嵌入式微处理器的分类(根据用途)

(1)嵌入式微控制器(MCU):又称为单片机,片上外设资源一般比较丰富,适合于控制。最大的特点是单片化,体积小,功耗和成本低,可靠性高。目前约占70%的市场份额。 (2)嵌入式微处理器(EMPU):又称为单板机,由通用计算机中的CPU 发展而来,它的特征是具有32位以上的处理器,具有较高的性能。通常嵌入式微处理器把CPU、ROM、RAM 及I/O 等模块做到同一个芯片上。

(3)嵌入式DSP 处理器(DSP):专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,使其处理速度比最快的CPU 还快10~50倍,在数字滤波、FFT、频谱分析等方面获得了大量的应用。

(4)嵌入式片上系统(SOC):追求产品系统最大包容的集成器件,其最大的特点是成功实现了软硬件的无缝结合,直接在微处理器片内嵌入操作系统的代码模块。 3.典型8位微处理器(具有8位数据总线)的结构和特点

该部分参考《教程》86~94页,以8051为重点,彻底搞清楚8位单片机的工作原理,外设控制、存储分布、寻址方式以及典型应用。2007年11月下午的第一道题目就考查了8051的定时器使用、外部时钟连接、实际应用的流程设计以及典型的寻址方式。这些考点几乎可以在《教程》上找到,例如外部时钟连接那个问题的答案就是《教程》89页上面的原图。 4.典型16位微处理器的结构和特点

该部分参考《教程》94~97页。典型的微处理器可以参考MSP430,找一本这方面的书看看关于MSP430的结构原理以及典型应用。

5.典型32位微处理器的结构和特点

该部分参考《教程》97~112页。32位处理器采用32位的地址和数据总线,其地址空间达到了2^32=4GB。

目前主流的32位嵌入式处理器系统主要有ARM 系列、MIPS 系列、PoewrPC 系列等。ARM 微处理器体系结构目前被公认为是嵌入式应用领域领先的32位嵌入式RISC 处理器结构。按照目前的发展形式,ARM 几乎成了嵌入式应用的代名词。按照我个人的意见,作为嵌入式系统设计师考试,逐渐增加考查ARM 体系结构与编程方面的题目是大势所趋。2006年没有一道关于ARM 的题目,2007年出了少量题目,可能在2008年会继续增加。在下午题方面,2006年考查了X86方面的应用、2007年考查了8051方面的应用,这个可能是一个过度过程,以目前ARM 在嵌入式领域的广泛应用和普及程度,下午题目考查ARM 应用方面或者32位其他的微处理器方面的应用题目可能在不就将来的考试中就会出现。 14.单片机系统的基本概念

(1)单片机组成:中央处理器、存储器、I/O 设备。

(2)存储器:物理实质是一组或多组具备数据输入/输出和数据存储功能的集成电路,用于充当设备缓存或保存固定的程序及数据。

A、ROM(只读存储器):一般用于存放固定的程序或数据表格等,数据在掉电后仍然会保留下来。

B、RAM(随机存储器):用于暂存程序和数据、中间计算结果,或用作堆栈用等,数据在掉电后就会丢失。

(3)I/O端口:单片机与外界联系的通道,它可以对各类外部信号(开关量、模拟量、频率信号)进行检测、判断、处理,并可控制各类外部设备。现在的单片机I/O 口已经集成了更多的特性和功能,对I/O端口的功能进行了拓展和复用,例如外部中断、ADC 检测以及PWM 输出等等。

(4)输出电平:高电平电压(输出“1”时)和低电平电压(输出“0”时) A、TTL 电平:正逻辑,5V 为逻辑正,0V 为逻辑负,例如单片机的输出。 B、RS232电平:负逻辑,-12V 为逻辑正,+12V 为逻辑负,例如PC 的输出。 注:因此在单片机和PC 进行通讯的时候需要一个MAX232芯片进行电平转换。 (5)堆栈:它是一种线性的数据结构,是一个只有一个进出口的一维空间。 A、堆栈特性:后进先出(LIFO)

B、前后台系统(在循环轮转的基础上增加了中断处理功能) 前台(事件处理级):中断服务程序,负载处理异步事件。

后台(任务级):一个无限循环,负载资源分配、任务管理和系统调度。 (4)有操作系统的三大优点: A、提高系统的可靠性。

B、提高了系统的开发效率,降低了开发成本,缩短了开发周期。 C、有利于系统的扩展与移植。

(5)设备驱动层(也叫板级支持包BSP:包含了嵌入式系统中所有与硬件相关的代码) 大多数的嵌入式硬件设备都需要某种类型软件的初始化和管理。这部分工作由设备驱动层来完成的,它负责直接与硬件大交道,对硬件进行管理和控制,为上层软件提供所需的驱动支持,类似PC 系统中的BIOS 和驱动程序。 19.设备管理 (1)设备管理基础

一个I/O 单元通常由两个部分组成: A、机械部分:I/O 设备本身。

B、电子部分:设备控制器或设备适配器。 硬件寄存器的编址方式有三种:

A、I/O独立编址:对于各种设备控制器中的每一个寄存器,分配一个唯一的I/O端口编号,也叫I/O 端口地址,然后用专门的I/O 指令对这些端口进行操作。这些端口地址构成的地址空间是完全独立的,与内存地址空间没有任何关系。

B、内存映象编址:把各种设备控制器当中的每一个寄存器都映射为一个内存单元,这内存单元专门用于I/O 操作。端口地址空间与内存地址空间是统一编址的,端口地址空间是内存地址空间的一部分。

C、混合编址:对于设备控制器当中的寄存器采用独立编址的方法,每个寄存器有一个独立的I/O 端口地址;而对于设备的数据缓冲区,则采用内存映象编址的方法,把他们统一到内存地址空间当中。 (2)I/O控制方式:

A、程序循环检测:要一直占用CPU,浪费CPU 的时间。 B、中断驱动方式:前后台系统。

C、直接内存访问:DMA 控制,减少了中断的次数。 20.任务管理

(1)嵌入式操作系统的任务管理可以分为:

A、单道程序技术:操作系统中,任何时候只能有一个程序在运行。 B、多道程序技术:操作系统中,允许多个程序同时存在并运行。 (2)进程

进程,简单的说,是一个正在运行的程序。

进程与程序既有联系又有区别,主要表现为下面结构方面:

A、程序由数据和代码两部分内容组成,它是一个静态的概念。而进程是正在执行的程序,它也由两部分组成:程序和该程序的运行上下文。它是一个动态的概念。

B、程序和进程之间并不是一一对应的。一个进程在运行的时候可以启动一个或多个程序。反之,同一个程序也可能由多进程同时执行。

C、程序可以作为一种软件资源长期保存,以文件的形式存放在光盘或硬盘上,而进程则是一次执行的过程,它是暂时的,是动态的产生和终止。

一个进程至少应包括三个方面:相应的程序、CPU上下文、一组系统资源。 进程有三个特性:

A、动态性:进程是正在运行的程序,而程序的运行状态是不断变化的。

B、独立性:进程是系统资源的使用单位,每个进行有自己的运行上下文和内部状态。

C、并发性:宏观来看,系统中同时有多个进程存在,它们相互独立地运行。 注:对于并发的理解。

在单CPU 的情况下,所谓的并发性指的是宏观上的并发运行,而微观上还是顺序进行,各个进程轮流去使用CPU 资源。在单核CPU 中,真正的、物理上的PC 寄存器只有一个,进程在轮流执行的时候,物理PC 的取值也在不断变化。而逻辑PC 其实就是一个内存变量。每个进程都有一个逻辑PC,当一个进程要运行的时候,就把它的逻辑PC 装载到物理PC 中去;反之,当一个进程暂不运行的时候,就把物理PC中的值保存在它的逻辑PC 当中。 (3)线程

线程就是进程当中的一条执行流程。

进程其实包含两个部分:资源平台和执行流程(线程)。

在一个进程当中,或者说在一个资源平台上,可以同时存在多个线程;可以用线程作为CPU 的基本调度单位,使得各个线程之间可以并发执行;对于同一个进程当中的各个线程来说,他们可以共享该进程的大部分资源。每个线程都有自己独立的CPU运行上下文和栈,这是不能共享的。 21.文件系统

(1)嵌入式文件系统概述

文件系统就是操作系统中用以组织、存储、命名、使用和保护文件的一套管理机制。 常见的嵌入式文件系统有:

A、FAT:VxWorks、QNX、WindowsCE 等

B、NFS:网络文件系统,基于远程调用和扩展数据表示。 C、FFS:用于Flash 存储器的文件系统。 (2)文件和目录

A、当一个文件被创建时,必须给它指定一个名字,用户就是通过文件名来访问这个文件的。

B、文件命是一个有限长度的字符串,由两部分组成:文件名和扩展名。

C、文件的逻辑结构主要有三种:无结构、简单的记录结构和复杂结构。现代文件系统通常采用的是无结构的形式。

D、除了文件名之外,操作系统会给每个文件附加一些其他信息,称为文件的属性。 E、文件的存取方法有两种:顺序存取和随机存取。

F、目录也称为文件夹,它是一张表格,记录了在该目录下每个文件名和其他的一些管理信息。

G、在多级目录结构中,访问文件或目录主要有两种方法:绝对路径名和相对路径名。 22.存储器系统的层次架构

计算机系统的存储器被组织城一个金字塔的层次结构。

自上而下为:CPU 内部寄存器、芯片内部高速缓存(cache)、芯片外部高速缓存(SRAM、SDRAM、DRAM)、主存储器(FLASH、EEPROM)、外部存储器(磁盘、光盘、CF 卡、SD 卡)和远程二级存储器(分布式文件系统、WEB 服务器),6个层次的结构。

上述设备从上而下,依次速度更慢、容量更大、访问频率更小,造价更便宜。 22.高速缓存(cache)

工作原理(参照教程126页,博客画不了图):主要利用了程序的局部性特点。

地址映象是指把主存地址空间映象到cache 的地址空间。

地址变换是指当程序或数据已经装入到cache 后,在实际运行过程中,把主存地址如何编程cache 空间的地址。

常用的地址映象和地址变换的方式有:(教程127页)

直接映象和变换:速度快,造价低,但有局限性,不能充分利用cache 的好处。 组相联地址映象和变换:速度稍慢但是命中率高。 全相联地址映象和变换:可以任意映射。

常用的cache 替换算法:轮转法和随机替换算法。 高速缓存的分类:

统一cache 和独立的数据/指令cache 写通cache 和写回cache

读操作分配cache 和写操作分配cache 23.存储管理单元(MMU)

MMU 在CPU 和物理内存之间进行地址转换,将地址从逻辑空间映射到物理空间,这个过程称为内存映射。

MMU 主要完成下面的工作:

A. 虚拟存储空间到物理空间的映射。 B. 存储器访问权限的控制。 C. 设置虚拟存储空间的缓冲特性。

嵌入式系统中常常采用页式存储管理。为了管理这些页引入了页表的概念。

页表是位于内存中的表,它的每一行对应虚拟存储空间的一个页,该行包含了该虚拟内存页对应的物理内存页的地址、该页的访问权限和该页的缓冲特性等。

从虚拟地址到物理地址的变换过程就是查询页表的过程。

由于页表存储在内存中的,整个查询过程需要付出很大的代价。根据程序局部性的特点,增加了一个小容量、高速度的存储部件来存放当前访问需要的地址变换条目,这个存储部件称为:地址转换后备缓冲器(TLB)。

当CPU 访问内存时,首先在TLB 中查找需要的地址变换条目,如果该条目不存在,CPU 再从内存中的页表中查询,并把相应的结果添加到TLB 中,更新它的内容。

嵌入式系统中虚拟存储空间到物理空间的映射以内存块为单位进行。即虚拟存储空间中一块连续的存储空间被映射到物理存储空间中同样大小的一块连续存储空间。

在页表和TLB 中,每一个地址变换条目实际上记录了一个虚拟存储空间的内存块的基地址与物理存储空间相对应的一个内存块的基地址之间的对应关系。 在MMU 中实现虚拟地址到物理地址的映射是通过两级页表来实现的。 禁止MMU 时,所有物理地址和虚拟地址相等,即使用平板存储模式。 24.内存保护

操作系统通常利用MMU 来实现操作系统内核与应用程序之间的隔离,以及应用程序与应用程序之间的隔离。

内存保护包含两个方面的内容:

A. 防止地址越界,每个应用程序都有自己独立的地址空间。 B. 防止越权操作,每个应用程序都有自己的访问权限。 25.实模式与保护模式

在嵌入式系统中,常见的存储管理方案可以分为两大类:实模式和保护模式。 实模式:内存的平面使用模式。特点有:

A. 不划分“系统空间”与“用户空间”,无须进行地址映射。 B. 操作系统与应用程序之间不再有物理的边界。 C. 系统中的“任务”或“进程”,实际上全是内核线程。

在实模式下,内存布局可以分为5个段:

A. 代码段:包含操作系统和应用程序的所有代码。 B. 数据段:所有带有初始值的全局变量。 C. BSS 段:所有未带初始值的全局变量。 D. 堆空间:动态分配的内存空间。

E. 栈空间:保存上下文以及函数调用时的局部变量和形参。

在实模式存储管理方案下,主要的工作在于堆空间的管理,即如何来管理空闲的堆空间、如何来分配内存、如何来回收内存等等。

保护模式:处理器中必须有MMU 硬件并启用。特点有: A. 系统内核和用户程序都有各自独立的地址空间。

B. 每个应用程序只能访问自己的地址空间,不能去破坏操作系统和其他应用程序的代码和数据。 26.分区存储管理

为了实现多道程序系统而采用的最简单的内存管理。

基本思路:把整个内存划分为两大区域,即系统区和用户区,然后再把用户区划分为若干个分区,每个任务占有其中的一个分区。这样,在内存当中就同时保留多个任务,让他们共享整个用户区,从而实现多个任务的并发运行。 分区存储管理又可以分为两类:固定分区和可变分区。

固定分区:各个用户分区的个数、位置和大小一旦确定后,就固定不变,不能再修改。 优点:易于实现,系统开销较小。 缺点:内存利用率不高,分区总数固定。

可变分区:动态创建,在装入一个程序时,系统将根据它的需求和内存空间的使用情况来决定是否分配。

优点:动态变化,非常灵活。

缺点:可能存在外碎片。

在实现可变存储管理技术的时候,需要考虑三个方面的问题: A. 内存管理的数据结构 B. 内存的分配算法 C. 内存的回收算法

27.嵌入式系统的特点、分类、发展与应用,熟悉嵌入式系统的逻辑组成。 (1)特点: 专用性

隐蔽性 (嵌入式系统是被包装在内部)

资源受限(要求小型化、轻型化、低功耗及低成本,因此软硬件资源受到限制) 高可靠性(任何误动作都可能会产生致命的后果)

软件固化(软件都固化在只读存储器ROM中,用户不能随意更改其程序功能) 实时性 (2)逻辑组成

硬件:1)处理器(运算器、控制器、存储器)

目前所有的处理器都是微处理器 中央处理器(CPU)和协助处理器(数字信号处理器DSP、图像处理器、通信处理器)

2)存储器(随机存储器RAM和只读存储器ROM)

RAM分为动态DRAM和静态SRAM两种。DRAM电路简单、集成度高、功耗小、成本低,但速度稍慢慢;SRAM电路较复杂、集成度低、功耗较大、成本高,但工作速度很快,适合用作指令和数据的高速缓冲存储器

RAM当关机或断电时,其中的信息都会消失,属于易失性存储器 ROM属于不易失性存储器。分为电可擦可编程只读存储器(存放

固件)和闪速存储器(Flash ROM简称内存)。内存的工作原理:在低 压下,存储的信息可读但不可写,这类似于ROM;在较高的电压下, 所存储的信息可以更改和删除,这有类似于RAM。 3)I/O设备与I/O接口 4)数据总线 软件 (3)分类

按嵌入式系统的软硬件技术复杂程度进行分类:

1)低端系统 采用4位或8位单片机,在工控领域和白色家电领域占主导地位,如计算器、遥控器、充电器、空调、传真机、BP机等。

2)中端系统 采用8位/16位/32位单片机,主要用于普通手机、摄像机、录像机、电子游戏机等。

3)高端系统采用32位/64位单片机,主要用于智能手机、调制解调器、掌上计算机、路由器、数码相机等。 (4)发展

20世纪60年代初,第一个工人的现代嵌入式系统(阿波罗导航计算机) 20世纪60年代中期,嵌入式计算机批量生产 20世纪70年代,微处理器出现

20世纪80年代中期,外围电路的元器件被集成到处理器芯片中,昂贵的模拟电路元件能被数字电路替代

20世纪90年代中期SOC出现,集成电路进入超深亚微米乃至纳米加工时代。 28.嵌入式系统的组成与微电子技术(集成电路、EDA、SoC、IP核等技术的作用和发展) (1)集成电路IC

集成电路的制造大约需要几百道工序,工艺复杂。集成电路是在硅衬底上制作而成的。硅衬底是将单晶硅锭经切割、研磨和抛光后制成的像镜面一样光滑的圆形薄片,它的厚度不足1mm,其直径可以是6、8、12英寸甚至更大这种硅片称为硅抛光片,用于集成电路的制造。 制造集成电路的工艺技术称为硅平面工艺,包括氧化、光刻、掺杂等多项工序。把这些工序反复交叉使用,最终在硅片上制成包含多层电路及电子元件的集成电路。集成电路的特点:体积小、重量轻、可靠性高。其工作速度主要取决于逻辑门电路的晶体管的尺寸。尺寸越小,工作频率就越高,门电路的开关速度就越快。 (2)EDA(电子信号自动化) (3)SoC芯片(片上系统)

既包含数字电路,也可以包含模拟电路,还可以包含数模混合电路和射频电路。SoC芯片可以是一个CPU,单核SoC,也可以由多个CPU和/或DSP,即多核SoC。 开发流程:

(1)总体设计 可以采用系统设计语言System C(或称IEEE 1666,它是C++的扩充)或System Vetilog语言对SoC芯片的软硬件作统一的描述,按照系统需求说明书确定SoC的性能能参数,并据此进行系统全局的设计。

(2)逻辑设计 将总体设计的结果用RTL(寄存器传输级描述语言)语言进行描述(源文件)后,在使用逻辑综合将源文件进行综合生成,生成最简的布尔表达式核心好的连接关系(以类型为EDF的EDA工业标准文件表示) (3)综合和仿真

(4)芯片制造 借助EDA中的布局布线工具 (4)IP核

IC设计文件:逻辑门级,包括各种基本的门电路;寄存器传输级,如寄存器、译码器、数据转换器;行为级,如CPU、DSP、存储器、总线与接口电路等。核库中的设计文件均属于知识产权IP保护的范畴,所以称为“知识产权核”或“IP核”。 IP核是开发SoC的重要保证。按IC设计文件的类型,IP通常分为:软核、固核、硬核。IP核的复用可以减少研发成本,缩短研发时间,是实现SoC的快速设计,尽早投放市场的有效途径。

目前主要的CPU内核有ARM、MIPS、PowerPC、Coldfile、x86、8051等。ARM内核占所有32位嵌入式RISC处理器的90%以上。

29.嵌入式系统与数字媒体(文本、图像和音频/视频等数字媒体的表示与处理) (1)文本

含义:在计算机中的文字信息,最常用的一种数字媒体。 字符集及其编码 1)西方字符的编码

ASCII字符集和ASCII编码,基本的ASCII字符集共128个字符,每个字符使用7个二进位(最高位为奇偶校验位,预留位)制进行编码。 2)汉字的编码

汉子国家编码标准有GB2312和GB18030。每个汉字用2个字节表示。GB2312只有6763个汉字,经常不够用。GB18030字符集与UCS/Unicode字符集基本兼容,采用不等长的编码方法,单字节编码表示ASCII字符,与ASCII码兼容;双字节表示汉字,与GB2312保持向下兼容(即GB2312中有的GB18030字符集都有) 3)UCS/Unicode编码 文本类型 1)简单文本 只能顺序阅读。 2)丰富格式文本

有插图、对文字颜色等定义,调整页面,文本布局,插入声音视频等。 3)超文本

通过超链接实现跳转、导航、回溯等操作 (2)图像

图像获取过程的核心是模拟信号的数字化,处理步骤为: 1)扫描 将画面网格化,每个网格为一个取样点

2)分色 将每个取样点的颜色分解成三原色 3)取样 测量每个取样点的每个分量(基色)亮度值 4)量化 把模拟量使用数字量来表示,A/D转换

数字图像的主要参数:图像大小(水平分辨率*竖直分辨率)、位平面数目、像素深 度、颜色模型

一幅图像的数据量计算公式:

图像数据量=图像大小*像素深度/8 (3)音频/视频

音频/视频信息的数字化,处理步骤为: 1)取样

2)量化 3)编码

数字音频的主要参数:取样频率、量化位数、声道数目、使用的压缩编码方法、比特率(每秒钟的数据量)

压缩前 波形声音的码率(比特率)= 取样频率 * 量化为数 * 声道数(单位b/s) 压缩后 码率 = 压缩前码率 / 压缩倍数(压缩比)

30.嵌入式系统与网络通信技术(数字通信与计算机网络,TCP/IP协议,互联网接入技术等) (1)数字通信 (2)计算机网络 (3)音频/ TCP/IP协议 (4)互联网接入技术

31.ARM处理器内核的体系结构(工作状态,工作模式,寄存器组织,异常,数据类型与存储格式等)

(1)工作状态

一是ARM状态,二是Thumb指令状态及Thumb-2状态,三是调试状态。ARM处理器复位后开始执行代码时总是只处于ARM状态,如果需要,可通过下面的方法切换到Thumb状态或Thumb-2状态

ARM状态切换到Thumb指令状态:通过BX指令,将操作数寄存器的最低位设置为1即可。如果R0[0]=1,则执行BX R0指令将进入Thumb状态

Thumb状态切换到ARM状态:通过BX指令,将操作数寄存器的最低位设置为0即可。如果R0[0]=0,则执行BX R0指令将进入ARM状态。 (2)七种工作模式

(3)寄存器组织

ARM处理器共有37种寄存器,包括31个通用寄存器(含PC)和6个状态寄存器。 无论何种模式,R15均作为PC使用;CPSR为当前程序状态寄存器;R7-R0为公用的通用寄存器。所有通用寄存器均为32位结构。 程序状态寄存器的格式:

31 30 29 28 27 26??

8 7 6 5 4 3 2 1 0

条件码标志含义如下:

N为符号标志位,N=1为负数,N=0为正数。 Z为全0标志位,运算结果为0,则Z=1,否则Z=0; C为进借位标志,有进/借位时C=1,否则C=0. V为溢出标志,加减法运算结果溢出时V=1,否则V=0. Q为增强的DSP运算指令溢出标志,溢出时Q=1,否则Q=0. 控制位含义如下:

I为中断禁止控制位,I=1禁止IRQ中断,I=0,允许中断。 F为禁止快速中断FIQ的控制位,F=1禁止FIQ中断,F=0允许。

T为ARM和Thumb指令切换,T=1时执行Thumb指令,否则执行ARM指令。 M4-M0为模式选择位 (4)存储格式

大端模式:32位数据字的高字节存储在低地址,而数据字的低字节则存放在高地址中。 小端模式:32位数据字的高字节存储在高地址,而数据字的低字节则存放在低地址中。系统复位时,自动默认为小端模式。

例如:一个32位数据字0x12345678,存放在起始地址为0x30001000,则大端模式下0x30001000单元存放0x12,0x30001001单元存放0x34,0x30001002单元存放0x56,0x30001003单元存放0x78;而小端模式下0x30001000单元存放0x78,0x30001001单元存放0x56,0x30001002单元存放0x34,0x30001003单元存放0x12。

(5)数据类型

8位、16位、32位三种数据类型 (6)ARM处理器中MMU和MPU

MMU存储器管理单元(memory management unit)功能: 1)虚拟地址到物理地址映射 2)存储器访问权限受限 3)虚拟存储空间的缓冲特性设置

MPU存储器保护单元(memory protect unit) (7)异常(7种)

32.嵌入式处理器的结构、特点与分类(不同类型的典型嵌入式处理器及其特点,嵌入式处

理器分类等)

(1)不同内核嵌入式微控制器性能比较

(2)冯–诺依曼结构和哈佛结构的区别

两者连接CPU程序存储器和数据存储器的方式不同 冯–诺依曼结构 CPU 程序/数据存储器

哈佛结构 程序存储器 CPU 数据存储器程序总线 数据总线 (3)分类

按指令集分为:复杂指令集结构CISC和精简指令集结构RISC 按存储机制分为:冯–诺依曼结构和哈佛结构 按字长分为:8位、16位、32位、64位结构

按不同内核系列可以分为:51、AVR、PIC、MSP430、PowerPC、Coldfile、ARM (4)不同典型内核简介

32.ARM处理器指令系统及汇编语言程序设计(指令格式,寻址方式,指令集,伪指令,语

句格式与程序结构,ARM汇编语言与C的混合编程等) (1)指令格式 指令一般格:

{}{S} ,{,} 其中<>不可省 指令格式说明:

关于#imm8m的说明:#表示立即数,其后可以是十进制或十六进制数。

对于ARM指令集,#imm8m表示一个由8位立即数经循环右移任意偶数位次形成的32位操作数。

对于Thumb指令集,#imm8m表示一个由8位立即数经左移任意位次形成的32位操作数。

寻址方式:

33.典型ARM处理器内核(ARM9,Cortex-A,Cortex-M,Cortex-R等的技术特点与应用领域) (1)Cortex-A系列是面向高端嵌入式应用的处理器核:具有MMU、Cache、最快频率、最高性能、合理功耗。

(2)Cortex-R系列是面向实时控制的处理器:具有MPU、Cache、实时响应、合理性能、较低功耗。

(3)Cortex-M系列是面向低端微控制器的处理器,没有MMU但有MPU,极高性价比、最低成本,极低功耗。

34.嵌入式硬件组成与嵌入式处理芯片(组成,特点,类型,ARM的AMBA总线,嵌入式处理芯片的选型)

基于ARM内核的典型嵌入式应用系统硬件组成

典型嵌入式系统硬件由嵌入式最小硬件系统(电源电路、时钟(晶振)电路、复位电路、JTAG测试接口)、前向通道(输入接口)、后向通道(输出接口)、人机交互通道(键盘,触摸屏以及LED或LCD显示输出接口)以及相互互联通信通道(CAN通信接口、以太网通信接口、USB通信接口)等组成。

电源电路为整个嵌入式系统提供能量,是整个系统工作的基础,具有极其重要的位置。一般来说 ,如果电源电路处理得好,整个系统的故障往往能显著减少。选择设计电源电路是主要考虑以下因素:输出电压电流、输入电压电流(交流还是直流)、安全因素、体积限制、功耗限制、成本限制。

常用的电源模块是交流变直流(AC-DC)模块、直流变直流模块(DC-DC)、低压稳压器(LDO)。稳压器包括普通稳压器和低压差稳压器LDO。78XX系列属于普通稳压器,LM2576/2596为开关稳压芯片,CAT6219/AS2815/1117/2908等属于低压稳压器。稳压器的最大特点就是低噪声、低成本、纹波小、精度高、电路简单。 35.基于ARM内核的典型嵌入式芯片的硬件组成 1)存储器及控制器

片内程序存储器通常是用Flash ROM,一般配有几KB到几MB不等。片内数据存储器通常使用SRAM,一般几KB到几百KB。 2)中断控制器

一般采用向量中断(VIC)或嵌套向量中断(NVIC)。Cortex-M支持嵌套的向量中断。 3)DMA控制器(直接存储器访问控制器)

使用DMA控制器,可将数据块从外设传输至内存、从内存传输至外设或从内存传输至内存。

4)电源管理与时钟控制器

5)GPIO接端口(General Purpose Input Output通用输入/输出端口)

作为输入时具有缓冲功能,而作为输出是具有锁存功能,GPIO也可以作为双向I/O使用。在ARM处理芯片中,GPIO引脚通常是多功能的,以减少引脚数,减少功耗。 6)定时计数组件

主要包括看门狗定时器(WDT) 监视着程序的运行状态 Timer通用定时器 用于一般的定时

RTC可直接提供年月日时分秒,使应用系统具有独立的日期和时间

脉冲宽度调制解调器(PWM) 用于脉冲宽度的调制,比如电机控制、用于变频调整等。 7)模拟通道组件 8)互联通信组件

36.嵌入式处理芯片的选型 1)性价比原则 性能高,价格低 2)参数选择原则

ARM内核(指令流水线、支持Thumb/Thumb-2指令集、最高时钟频率的限制、最低功耗要求以及低成本要求)

自上而下为:CPU内部寄存器、芯片内部高速缓存(cache)、芯片外部高速缓存(SRAM、SDRAM、DRAM)、主存储器(FLASH、EEPROM)、外部存储器(磁盘、光盘、CF卡、SD卡)和远程二级存储器(分布式文件系统、WEB服务器),6个层次的结构。

上述设备从上而下,依次速度更慢、容量更大、访问频率更小,造价更便宜。 2、高速缓存(cache)

工作原理(参照教程126页,博客画不了图):主要利用了程序的局部性特点。 地址映象是指把主存地址空间映象到cache的地址空间。

地址变换是指当程序或数据已经装入到cache后,在实际运行过程中,把主存地址如何编程cache空间的地址。

常用的地址映象和地址变换的方式有:(教程127页)

直接映象和变换:速度快,造价低,但有局限性,不能充分利用cache的好处。 组相联地址映象和变换:速度稍慢但是命中率高。 全相联地址映象和变换:可以任意映射。 常用的cache替换算法:轮转法和随机替换算法。 高速缓存的分类:

统一cache和独立的数据/指令cache 写通cache和写回cache

读操作分配cache和写操作分配cache

43.I/O接口、I/O设备以及外部通信接口(GPIO、IC、SPI、UART、USB、HDMI等;键盘、LED、LCD、触摸屏、传感器等;RS-232/RS-485、CAN、以太网和常用无线通信接口) (1)GPIO(通用输入输出接口)

在嵌入式处理器内部,输入具备缓冲功能,输出具有锁存功能。GPIO一般有三态:0态、1态、高阻状态。

(2)集成电路互连总线接口IIC

2

集成电路互连总线用于连接嵌入式处理器及外围器件,采用串行半双工传输的总线标准。 IIC总线具有的接口线少,控制方式简单,器件封装紧凑,通信速率较高(100kb/s,400kb/s,高速模式可达3.4Mb/s)等优点。 IIC总线的操作时序

IIC总线只有两条信号线,一条是数据线SDA,另一条是时钟线SCL,所有的操作均通过这两条信号线完成。数据线SDA上的数据必须在时钟的高电平周期保持稳定,它的高/低电平状态只有在SCL时钟信号线是低电平时才能改变。 1)启动和停止条件

总线上的所有器件都不使用总线时,SCL线和SDA线各自的上拉电阻把电平拉高,使它们均处于高电平。主控制器启动总线操作的条件是当SCL线保持高电平时SDA线有高电平转为低电平,此时主控制器在SCL产生时钟信号,SDA线开始传输数据。若SCL线为高电平时SDA由低转为高,则总线工作停止,恢复空闲状态 2)数据传送格式 3)应答(ACK)信号传送 4)读/写操作 5)总线仲裁 6)异常中断条件 (3)串行外设接口SPI

(4)串行异步通信接口UART (5)高清多媒体接口HDMI

(6)常用简单输入设备(键盘、触摸屏、传感器) (7)常用简单输出设备(LED、数码管、LCD、)

(8)基于UART的RS—232/RS—485 CAN总线接口 以太网通信接口常用无线通信接口(GPS模块、GPRS模块、WiFi模块、蓝牙模块、射频无线收发模块)

43.存储管理单元(MMU)memory management unit

MMU在CPU和物理内存之间进行地址转换,将地址从逻辑空间映射到物理空间,这个过程称为内存映射。

MMU主要完成下面的工作:

A.虚拟存储空间到物理空间的映射。 B.存储器访问权限的控制。 C.设置虚拟存储空间的缓冲特性。

嵌入式系统中常常采用页式存储管理。为了管理这些页引入了页表的概念。 页表是位于内存中的表,它的每一行对应虚拟存储空间的一个页,该行包含了该虚拟内存页对应的物理内存页的地址、该页的访问权限和该页的缓冲特性等。 从虚拟地址到物理地址的变换过程就是查询页表的过程。

由于页表存储在内存中的,整个查询过程需要付出很大的代价。根据程序局部性的特点,增加了一个小容量、高速度的存储部件来存放当前访问需要的地址变换条目,这个存储部件称为:地址转换后备缓冲器(TLB)。

当CPU访问内存时,首先在TLB中查找需要的地址变换条目,如果该条目不存在,CPU再从内存中的页表中查询,并把相应的结果添加到TLB中,更新它的内容。

嵌入式系统中虚拟存储空间到物理空间的映射以内存块为单位进行。即虚拟存储空间中一块连续的存储空间被映射到物理存储空间中同样大小的一块连续存储空间。 在页表和TLB中,每一个地址变换条目实际上记录了一个虚拟存储空间的内存块的基地址与物理存储空间相对应的一个内存块的基地址之间的对应关系。 在MMU中实现虚拟地址到物理地址的映射是通过两级页表来实现的。 禁止MMU时,所有物理地址和虚拟地址相等,即使用平板存储模式。 内存保护

操作系统通常利用MMU来实现操作系统内核与应用程序之间的隔离,以及应用程序与应用程序之间的隔离。

内存保护包含两个方面的内容:

A.防止地址越界,每个应用程序都有自己独立的地址空间。 B.防止越权操作,每个应用程序都有自己的访问权限。 44.实模式与保护模式

在嵌入式系统中,常见的存储管理方案可以分为两大类:实模式和保护模式。 实模式:内存的平面使用模式。特点有:

A.不划分“系统空间”与“用户空间”,无须进行地址映射。 B.操作系统与应用程序之间不再有物理的边界。 C.系统中的“任务”或“进程”,实际上全是内核线程。 在实模式下,内存布局可以分为5个段: A.代码段:包含操作系统和应用程序的所有代码。 B.数据段:所有带有初始值的全局变量。 C.BSS段:所有未带初始值的全局变量。 D.堆空间:动态分配的内存空间。

E.栈空间:保存上下文以及函数调用时的局部变量和形参。

在实模式存储管理方案下,主要的工作在于堆空间的管理,即如何来管理空闲的堆空间、如何来分配内存、如何来回收内存等等。

保护模式:处理器中必须有MMU硬件并启用。特点有: A.系统内核和用户程序都有各自独立的地址空间。

B.每个应用程序只能访问自己的地址空间,不能去破坏操作系统和其他应用程序的代码和数据。 45.分区存储管理

为了实现多道程序系统而采用的内存管理。

基本思路:把整个内存划分为两大区域,即系统区和用户区,然后再把用户区划分为若干个分区,每个任务占有其中的一个分区。这样,在内存当中就同时保留多个任务,让他们共享整个用户区,从而实现多个任务的并发运行。 分区存储管理又可以分为两类:固定分区和可变分区。

固定分区:各个用户分区的个数、位置和大小一旦确定后,就固定不变,不能再修改。

优点:易于实现,系统开销较小。 缺点:内存利用率不高,分区总数固定。

可变分区:动态创建,在装入一个程序时,系统将根据它的需求和内存空间的使用情况来决定是否分配。

优点:动态变化,非常灵活。 缺点:可能存在外碎片。

在实现可变存储管理技术的时候,需要考虑三个方面的问题: A.内存管理的数据结构 B.内存的分配算法 C.内存的回收算法 46.地址映射

地址映射也叫地址重定位。

逻辑地址和物理地址是完全不同的,不能用逻辑地址来直接访问内存单元。 为了保证CPU在执行指令的时候,可以正确地访问内存单元,需要将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。这个过程称为:地址映射。 地址映射由存储管理单元MMU来完成。

地址映射主要有两种方式:静态地址映射和动态地址映射。

静态地址映射:当用户程序被装入内存时,直接对指令代码进行修改,一次性地实现逻辑地址到物理地址的转换。

动态地址映射:当用户程序被装入内存时,不对指令代码做任何修改,而是在程序的运行过程中,当它需要访问内存单元的时候,再来进行地址转换。

在具体实现时,这项转换工作一般是由硬件的地址映射机制来完成的。通常设置一个基地址寄存器,或者叫重定位寄存器。当一个任务被调度运行时,就把它所在分区的起始地址装入到整个寄存器中。然后,在程序运行的过程中,当需要访问某个内存单元时,硬件就会自动地将其中的逻辑地址加上基地址寄存器中的内容,从而得到实际的物理地址,并且按照这个物理地址区执行。

这个基地址寄存器位于MMU的内部,整个地址映射过程是自动运行的。从理论上说,每访问一次内存都要进行一次地址映射。 47.页式存储管理(重点)

基本思路:把物理内存划分为许多固定大小的内存块,称为物理页面;把逻辑地址空间也划分为大小相同的块,称为逻辑页面。当一个用户程序被装入内存时,不是以整个程序为单位,把它存放在一整块连续的区域,而是以页面为单位来进行分配的。对于一个大小为N的页面程序,需要有N个空闲的物理页面来把它装载。这些物理页面不一定是要连续的。 在页式存储管理中需要解决三个问题:数据结构、内存分配与回收、地址映射。 数据结构有两个:页表和物理页面表。

A.页表:给出了任务逻辑页面号和内存中物理页面号之间的对应关系。 B.物理页面表:描述内存空间中,各个物理页面的使用情况。

具体的例子请参考《教程》317页(博客中画不了图,有兴趣自己看)。 内存的分配过程:

A.对于一个新来的任务,计算它所需要的页面数N,然后查看位示图,看是否还有N个空闲的物理页面。

B.如果有足够的空闲物理页面,就去申请一个页表,其长度为N,并把页表的起始地址填入到该任务的控制块中。

C.分配N个空闲的物理页面,把他们的变换填到页表中,建立逻辑页面与物理页面直接的对应关系。

D.修改位示图,对刚刚被占用的那些物理页面进行标记。 地址映射的基本思路:

A.逻辑地址分析:对逻辑地址,找到它所在的逻辑页面,以及它在页面内的偏移地址。

B.页表查找:根据逻辑页面号,从页表中找出它对应的物理页面号。 C.物理地址合成:根据物理页面号和页内偏移地址,最终确定物理地址。 逻辑地址分析:

页面的大小都是2的整数次幂。对于给定的一个逻辑地址,可以直接把它的高位部分作为逻辑页面号,把它的低位部分作为页内偏移地址。例如,假设页面的大小是4KB,即2的12次幂,逻辑地址为32为,那么在一个逻辑地址当中,最低12位为页内偏移地址,而剩下的20位就是逻辑页面号。 计算方法:

逻辑页面号=逻辑地址/页面大小 页内偏移量=逻辑地址%页面大小 页表查找:

页表作为操作系统的一个数据结构,通常保存在内核的地址空间中。

页表基地址寄存器用来指向页表的起始地址;页表长度寄存器用来指示页表的大小,即对于当前任务,它总共包含有多少个页面。 物理地址合成:

假设物理页面号为f,页内偏移地址为offset,每个页面大小为2n,那么相应的物理地址为:f×2n+offset。 48.虚拟存储管理

程序局部性原理:时间局限性和空间局限性。

虚拟页式存储管理:在页式管理的基础上,增加了请求调页和页面置换的功能。 基本思路:当一个用户程序需要调入内存去运行时,不是将这个程序的所有页面都装入内存,而是只装载部分的页面,就可以启动这个程序运行。在运行过程中,如果发现要执行的指令或者访问的数据不在内存当中,就向系统发出缺页中断请求,然后系统在处理这个中断请求时,就会将保存在外存中的相应页面调入内存,从而使该程序能继续运行。 在虚拟页式存储管理中,页表包含:逻辑页面号、物理页面号、驻留位、保护位、修改位和访问位。

常用的页面置换算法:

A.最优页面置换算法:理想化算法。

B.最近最久未使用算法:链表法和栈方法。寻找长时间没有被访问的页面。 C.最不常用算法:每个页面设置一个访问计数器。 D.先进先出算法:性能比较差。

E.时钟页面置换算法:把页面组成环形链表,类似时钟面。

一般来说,当一个任务刚刚启动的时候,它会不断去访问一些新的页面,然后逐步

建立一个比较稳定的工作集。工作集是指当前任务正在使用的逻辑页面的集合。如果分配给一个任务的物理页面数太少,不能包含整个的工作集,任务将会造成很多缺页中断,需要频繁地进行页面置换,这种现象称为“抖动”。 49.嵌入式系统软件

1 .嵌入式系统的软件组成与实时操作系统(嵌入式系统软件组成,嵌入式操作系统的发展,实时系统与实时操作系统,微内核与宏内核,嵌入式操作系统的仿真平台等)

2 .板级支持软件包(BSP )和引导加载程序Bootloader (硬件抽象层HAL ,BSP 的功能和移植,Bootloader 的执行过程,U-boot 及其移植等)

3 .嵌入式Linux 操作系统(嵌入式Linux 的发展和自由软件,嵌入式Linux 内核的结构、系统调用接口,常见嵌入式Linux 等)

4 .嵌入式操作系统μC/OS-II (基本特点、代码结构、任务管理与调度、任务通信、中断处理、移植等) 50.嵌入式系统的开发

1.嵌入式系统的开发过程和工具(开发步骤,交叉开发平台和工具,系统的调试工具等)

2.系统开发工具软件(ADS、RVDS的特点与使用,GCC的常用命令与参数)

3.以S3C2410/S3C2440为背景的应用系统开发(硬件接口及部件的综合使用;无操作系统环境下的系统开发;μC/OS-II环境下的系统开发) 51.嵌入式系统的定义

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

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

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

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

52.嵌入式系统的组成:硬件层、中间层、系统软件层和应用软件层 (1)硬件层:嵌入式微处理器、存储器、通用设备接口和I/O 接口。 嵌入式核心模块=微处理器+电源电路+时钟电路+存储器

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

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

BSP 有两个特点:硬件相关性和操作系统相关性。 设计一个完整的BSP 需要完成两部分工作: A、嵌入式系统的硬件初始化和BSP 功能。

片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。

板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。

系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。 B、设计硬件相关的设备驱动。

(3)系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。 RTOS 是嵌入式应用软件的基础和开发平台。 (4)应用软件:由基于实时系统开发的应用程序组成。 53.实时系统

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

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

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

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

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

本文来源:https://www.bwwdw.com/article/mhwx.html

Top