二、嵌入式基本概念汇总
由于其本身不具备自主开发能力,即使设计完成以后,用户通 常也是不能对其中的程序功能进行修改,必须有一套开发工具和环 境才能进行开发。
这些工具和环境一般是基于通用计算机上的软硬件设备以及各 种逻辑分析仪、混合信号示波器等。
开发时往往有主机和目标机的概念,主机用于程序的开发,目 标机作为最后的执行机,开发时需要交替结合进行。
Байду номын сангаас
预取
流 水 线 1
译码1 译码2 执行1 执行2
流 水 线 2
译码1 译码2 执行1 执行2
数据
27
高速缓存(CACHE)
1、为什么采用高速缓存 微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高 内存的平均性能。 2、高速缓存的工作原理 高速缓存是一种小型、快速的存储器,它保存部分主存内容的 拷贝。
(1)顺序执行系统:系统内只含有一个程序,独占CPU的运 行时间,按语句顺序执行该程序,直至执行完毕,另一程序 才能启动运行。如DOS操作系统。
(2)分时操作系统:系统内同时可以有多个程序运行,把 CPU的时间分按顺序分成若干片,每个时间片内执行不同的 程序。如UNIX
(3)实时操作系统:系统内有多个程序运行,每个程序有不 同的优先级,只有最高优先级的任务才能占有CPU的控制权 。
高 速 缓 存 控 制 器
数据
CACHE 主存
CPU
地址 数据
28
总线和总线桥
CPU
低速设备
高速总线
桥
低速总线
存储器
高速设备
数据
高速设备
29
存储器系统
RAM:随机存取存储器, SRAM:静态随机存储器, DRAM:动态随机存储器 1)SRAM比DRAM快 2)SRAM比DRAM耗电多
3)DRAM存储密度比SRAM高得多
4)DRM需要周期性刷新 ROM:只读存储器 FLASH:闪存
30
输入输出接口
1)I/O
2)A/D、D/A
3)键盘
4)LCD
5)存储器接口
6)设备接口
31
三、嵌入式操作系统
操作系统的分类
嵌入式实时操作系统
多任务,任务优先级,调度
前台与后台
实时操作系统中的重要概念
32
操作系统的分类
4
(2)专用性强 嵌入式系统的个性化很强,其中的软件系统和硬件 的结合非常紧密,一般要针对硬件进行系统的移植。 即使在同一品牌、同一系列的产品中也需要根据系 统硬件的变化和增减不断进行修改。 同时针对不同的任务,往往需要对系统进行较大更 改,程序的编译下载要和系统相结合,这种修改和通用 软件的“升级”是完全不同的概念。
•大多数程序只使用少量的指令就能够运行。 •指令复杂化、编译复杂化,运行时间长,部件效率不高,不利 于并行处理和VLSI的实现
21
CISC :复杂指令集(Complex Instruction Set Computer)
•早期的CPU全部是CISC架构,它的设计目的是要用最少的机 器语言指令来完成所需的计算任务。
存储器
指令寄存器
控制器
程序
指令0 指令1 指令2 指令3 指令4
数据通道 输入 中央处理器
输出
数据 数据0 数据1 数据2
15
指令的执行周期T 1)取指令(Instruction Fetch):TF 2)指令译码(Instruction Decode):TD 3)执行指令(Instruction Execute):TE 4)存储(Storage):TS
嵌入式系统设计与实例开发
——ARM与C/OS-Ⅱ
第二讲 嵌入式系统的基本概念
1
嵌入式系统的基本概念
1、什么是嵌入式系统 2、硬件基础
3、嵌入式操作系统
2
IEEE定义
根据IEEE(国际电气和电子工程师协会)的定义:
嵌入式系统是“用于控制、监视或者辅助操作 机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。
9
典型嵌入式系统基本组成-硬件
电源 模块
外围电路 微处理器
Flash
时钟
RAM
MPU
复位 ROM
外设
USB LCD Keyboard Other
10
典型嵌入式系统基本组成-软件
应用程序 操作系统 软件 结构
输入 处理器
存储器
输出 硬件 结构
11
嵌入式处理器
嵌入式处理器是嵌入式系统的核心,是控制、辅助 系统运行的硬件单元。 4位、 8位单片机,16位、 32位 、64位嵌入式CPU。
33
按实时性分类
● 具有强实时特点的嵌入式操作系统
● 具有弱实特点的嵌入式操作系统
● 没有实时特点的嵌入式操作系统
34
1.强实时系统,其系统响应时间在毫秒或微秒级( 数控机床); 2.一航实时系统,其系统响应时间在毫秒-几秒的 数量级上,其实时性的要求比强实时系统要差一些(电 子菜谱的查询)。
3.弱实时系统,其系统响应时间约为数十秒或更长 (工程机械)。
35
按软件结构分类
(1).循环轮询系统:(Polling Loop)
最简单的软件结构是循环轮询,程序依次检查系统的每 一个输入条件,一旦条件成立就进行相应的处理。
Initialize()
While(true){
if(condition_1) action_1(); if(condition_2) action_2(); …… if(condition_n) acition_n();
20
CISC和RISC
RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前 CPU的两种架构。它们的区别在于不同的CPU设计理念和方法。 CISC:复杂指令集(Complex Instruction Set Computer) 具有大量的指令和寻址方式
•8/2原则:80%的程序只使用20%的指令
•比如对于乘法运算,在CISC架构的CPU上,您可能需要这样 一条指令:MUL ADDRA, ADDRB就可以将ADDRA和ADDRB 中的数相乘并将结果储存在ADDRA中。将ADDRA, ADDRB中 的数据读入寄存器,相乘和将结果写回内存的操作全部依赖于 CPU中设计的逻辑来实现。 •这种架构会增加CPU结构的复杂性和对CPU工艺的要求,但对 于编译器的开发十分有利。 •比如上面的例子,C程序中的a*=b就可以直接编译为一条乘法 指令。
•今天只有Intel及其兼容CPU还在使用CISC架构。
22
RISC:精简指令集(Reduced Instruction Set Computer)
•在通道中只包含最有用的指令
•确保数据通道快速执行每一条指令 •使CPU硬件结构设计变得更为简单 •将频率最高的操作作为指令系统的基本操作 •适于VLSI、并行处理的发展趋势
每条指令的执行周期:T= TF+TD+TE+TS
16
冯· 诺依曼体系的特点 1)数据与指令都存储在存储器中 2)被大多数计算机所采用 3)ARM7——冯诺依曼体系
在冯· 诺依曼体系结构中,数据和程序存储器是共享 数据总线的。数据总线共享有很多优点,比如减小总 线的开销。另外一个优点在于能够把RAM映射到程序 空间,这样设备也能访问EEPROM中的内存。
19
对于哈佛体系结构的计算机,程序和数据总线是分开的 。这种方式的优势在于能够在一个时钟周期内同时读取程序 和数据,这样就相应地减少了执行每一条指令所需的时钟周 期。早期的哈佛架构的计算机是不能把查找表储存在程序存 储器中的,而这个问题在现在的大多数设备中已经解决了。
哈佛体系结构计算机中存在的另外一个问题就是,如果 要和外部的程序和数据存储器进行交互,对于两部分存储器 来说,由于地址总线和数据总线的相互独立性,就需要额外 增加大量的芯片管脚。因此,只有当至少有一种存储器的类 型是内部的情况下,微处理器才会采用哈佛体系结构。
可以看出此定义是从应用上考虑的,嵌入式系 统是软件和硬件的综合体,还可以涵盖机电等附属 装置。
3
嵌入式系统的几个重要特征
(1)系统内核小
由于嵌入式系统一般是应用于小型电子装置的,系统资 源相对有限,所以内核较之传统的操作系统要小得多。
比如 ENEA 公司的 OSE 分布式系统,内核只有 5K ,而 Windows的内核则要大得多。
17
哈佛体系结构
地址 程序存储器 指令0 指令1 指令2
指令寄存器
控制器
指令
地址 数据通道 输入 中央处理器
数据存储器 数据0 数据1 数据2
输出
数据
18
哈佛体系结构的特点
1)程序存储器与数据存储器分开 2)提供了较大的数存储器带宽
3)适合于数字信号处理
4)大多数DSP都是哈佛结构
5)ARM9是哈佛结构
5
(3)系统精简 嵌入式系统一般没有系统软件和应用软件的明显 区分,不要求其功能设计及实现上过于复杂,这样一 方面利于控制系统成本,同时也利于实现系统安全。
(4)高实时性OS 这是嵌入式软件的基本要求,而且软件要求固态 存储,以提高速度。软件代码要求高质量和高可靠性 、实时性。
6
(5)嵌入式软件开发走向标准化
当然,RISC也有它的缺点:代码密度不高,可执行文件体积较大, 汇编代码可读性较差。代码密度不高是个值得关注的问题:若不使用cache, 会需要更大的指令存储空间,取指时也占用更大的存储器带宽。若采用 cache,又会降低cache的命中率。
RISC架构要求软件来指定各个操作步骤。如果要在RISC架构上实现将 ADDRA, ADDRB中的数据读入寄存器,相乘和将结果写回内存的操作 都必须由软件来实现,比如:MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A。这种架构可以降低CPU的复杂性以及允许在同 样的工艺水平下生产出功能更强大的CPU,但对于编译器的设计有更高 的要求。