第二章 嵌入式系统的基本概念

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

if(condition_1) action_1();
if(condition_2) action_2(); …… if(condition_n) acition_n(); }
25
按软件结构分类
2)事件驱动系统:(Event-Driven system)
事件驱动系统是能对外部事件直接响应的系统。它包括前后台、 实时多任务、多处理器等,是嵌入式实时系统的主要形式。 应用程序是一个无限的循环,循环中调用相应的函数完成相应的 操作,这部分可以看成后台行为(background)。中断服务程序处理 异步事件,这部分可以看成前台行为(foreground)。 后台也可以叫做任务级,前台也叫中断级。
7
哈佛体系结构
地址 程序存储器 指令0 指令1 指令2
指令寄存器
控制器
指令
地址 数据通道 输入 中央处理器
数据存储器 数据0 数据1 数据2
输出
数据
8
CISC和RISC
CISC:复杂指令集(Complex Instruction Set Computer) 具有大量的指令和寻址方式 8/2原则:80%的程序只使用20%的指令 大多数程序只使用少量的指令就能够运行。 RISC:精简指令集(Reduced Instruction Set Computer) 在通道中只包含最有用的指令
20
输入输出接口
I/O
A/D、D/A
键盘 LCD 存储器接口 设备接口
21
嵌入式系统软件基础

操作系统的分类 嵌入式实时操作系统 前台与后台 多任务,任务优先级,调度 非占先式与占先式、可重入型函数
22
操作系统的分类
(1)顺序执行系统:系统内只含有一个程序,独占CPU的运 行时间,按语句顺序执行该程序,直至执行完毕,另一程 序才能启动运行。如DOS操作系统。
5
冯· 诺依曼体系结构模型
存储器
指令寄存器
控制器
程序
指令0 指令1 指令2 指令3 指令4
数据通道 输入 中央处理器
输出
数据 数据0 数据1 数据2
6
哈佛体系结构
在冯· 诺依曼体系结构中,数据和程序存储器是共享数据总线的。 数据总线共享有很多优点,比如减小总线的开销。另外一个优点 在于能够把RAM映射到程序空间,这样设备也能访问EEPROM中 的内存。 对于哈佛体系结构的计算机,程序和数据总线是分开的。这种方 式的优势在于能够在一个时钟周期内同时读取程序和数据,这样 就相应地减少了执行每一条指令所需的时钟周期。早期的哈佛架 构的计算机是不能把查找表储存在程序存储器中的,而这个问题 在现在的大多数设备中已经解决了。 哈佛体系结构计算机中存在的另外一个问题就是,如果要和外部 的程序和数据存储器进行交互,对于两部分存储器来说,由于地 址总线和数据总线的相互独立性,就需要额外增加大量的芯片管 脚。因此,只有当至少有一种存储器的类型是内部的情况下,微 处理器才会采用哈佛体系结构。
嵌入式系统
(Embedded System)
嵌入式系统的基本概念 华北电力大学 电气与电子工程学院
1
本节提要
1 基本知识 2 嵌入式系统软硬件基础 3 嵌入式系统设计方法
4
一个嵌入式设计方法实例
2
嵌入式系统的软/硬件框架
功能层 应用程序
文件系统 软件层
图形用户 接口
任务管理
实时操作系统(RTOS) 中间层 D/A A/D 硬件层 I/O 人机交互接口 嵌入式计算机系统 嵌入式 微处理器 BSP/HAL 硬件抽象层/板极支持包 通用接口 ROM SDRAM


多媒体处理: MPEG/JPEG ;
encoder/decoder ; 数字信号处理器(DSP)
通信: Ethernet controller, router,
12
IP核的种类

Soft Cores(―code‖)(软核)


HDL语言描述
灵活度高,可修改 与工艺独立,可根据具体的加工工艺重新综合; IP很难保护 逻辑综合后的描述 与工艺相关 物理综合后的描述 准备流片
(2)分时操作系统:系统内同时可以有多个程序运行,把 CPU的时间分按顺序分成若干片,每个时间片内执行不同 的程序,如UNIX;
(3)实时操作系统:系统内有多个程序运行,每个程序有 不同的优先级,只有最高优先级的任务才能占有CPU的控 制权。
23
按实时性分类
强实时系统,其系统响应时间在毫秒或微秒级(数控机 床);
3
嵌入式系统硬件基础
冯· 诺依曼体系结构和哈佛体系结构
CISC与RISC
IP

流水线
存储器系统
4
冯· 诺依曼体系结构
20世纪30年代中期,德国科学家冯诺依曼大胆的提出,抛弃十进制,采 用二进制作为数字计算机的数制基础。同时,他还说预先编制计算程序 ,然后由计算机来按照人们事前制定的计算顺序来执行数值计算工作。
超标量是通过内置多条流水线来同时执行多个处理器,其实质是 以空间换取时间。而超流水线是通过细化流水、提高主频,使得 在一个机器周期内完成一个甚至多个操作,其实质是以时间换取 空间。例如Pentium 4的流水线就长达20级。将流水线设计的步( 级)越长,其完成一条指令的速度越快,因此才能适应工作主频更 高的CPU。但是流水线过长也带来了一定副作用,很可能会出现 主频较高的CPU实际运算速度较低的现象,Intel的奔腾4就出现了 这种情况,虽然它的主频可以高达1.4G以上,但其运算性能却远 远比不上AMD 1.2G的速龙甚至奔腾III。
二、核厂商设计并制造集成电路芯片

TI, Motorola, Lucent
VLSI, SSI, Cirrus, Adaptec
三、核厂商卖核, 负责为客户设计并制造芯片

LSI logic, TI, Lucent
14
IP核的市场构成

74% 为硬件设计厂商. 26% 将购买IP 核:

40% hard, 68% soft, 32% firm
编码长度 编码长度可变,1-15字节
寻址方式 寻址方式多样 操作
编码长度固定,通常为4个字节
简单寻址
可以对存储器和寄存器进行 只能对寄存器对行算术和逻辑 算术和逻辑操作 操作,Load/Store体系结构
编译
难以用优化编译器生成高效 采用优化编译技术,生成高效 的目标代码程序 的目标代码程序
11
知识产权核(IP核, intellectual property)
一个任务,也称作一个线程,是一个简单的运行 程序。每个任务都是整个应用的某一部分,每个任务被 赋予一定的优先级, 有它自己的一套CPU寄存器和自己 的栈空间。 多任务运行的实现实际上是靠CPU(中央处理单元 )在许多任务之间转换、调度。
CPU只有一个,轮番服务于一系列任务中的某一 个。多任务运行使CPU的利用率得到最大的发挥,并使 应用程序模块化。 在实际应用中,多任务的最大特点是,开发人员 可以将很复杂的应用程序层次化-综合实验(时钟、位 图、USB、KEY)。
Add Sub Cmp 时间
取指
译码 取指
执行add 译码 取指 执行sub 译码 执行cmp
17
流水线技术
流水线(Pipeline )是Intel首次在486芯片中开始使用的。流水线的 工作方式就象工业生产上的装配流水线。在CPU中由5—6个不同 功能的电路单元组成一条指令处理流水线,然后将一条X86指令分 成5—6步后再由这些电路单元分别执行,这样就能实现在一个 CPU时钟周期完成一条指令,因此提高CPU的运算速度。经典奔 腾每条整数流水线都分为四级流水,即指令预取、译码、执行、 写回结果,浮点流水又分为八级流水。

一般实时系统,其系统响应时间在毫秒-几秒的数量级 上,其实时性的要求比强实时系统要差一些(媒体播放);


弱实时系统,其系统响应时间约为数十秒或更长。
24
按软件结构分类
1)循环轮询系统:(Polling Loop)
最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条 件,一旦条件成立就进行相应的处理。 Initialize() While(true){
确保数据通道快速执行每一条指令
使CPU硬件结构设计变得更为简单
9
CISC与RISC的数据通道
开始
IF
ID
ALU
MEM
微操作通道
REG
退出
开始
IF
ID
REG
ALU
MEM
退出
单通数据通道
10
CISC与RISC的对比
类别 CISC RISC 较少,通常少于100
指令系统 指令数量很多
执行时间 有些指令执行时间很长,如 没有较长执行时间的指令 整块的存储器内容拷贝;或 将多个寄存器的内容拷贝到 存贮器
18
指令流水线—以ARM为例

为增加处理器指令流的速度,ARM7 系列使用3级流水线.

允许多个操作同时处理,比逐条指令执行要快。
ARM
PC
Thumb
PC
Fetch
从存储器中读取指令
PC - 4
PC-2
Decode
解码指令 寄存器读(从寄存器Bank) 移位及ALU操作 寄存器写(到寄存器Bank )


识产权知识产权(IP) 电路或核是设计好并经过验证的 集成电路功能单元
IP复用意味着设计代价降低(时间,价格) IP核的类别:

微处理器微处理器: ARM, PowerPC; 存储器存储器: RAM, memory controller; 外设: PCI, DMA controller;

在进入临界区之前要关中断,而临界区代码执行完以后要 立即开中断(在任务切换时,地址、指令、数据等寄存器 堆栈保护)。
28
多任务(任务、进程和线程)
休眠、就绪、运行、挂起、被中断
任务 1
任务 2 任务 n
……
任务 控制 块1 寄存器 CPU CPU寄存器
29
任务 控制 块2
任务 控制 块n
多任务(任务、进程和线程)
30
系统内核(Kernel)与调度(Scheduler)

多任务系统中,内核负责管理各个任务,或者说为每个任 务分配CPU时间,并且负责任务之间的通信。 内核(Kernel):提供的基本服务是任务切换。内核本身 也增加了应用程序的额外负荷,代码空间增加ROM用量, 内核本身的数据结构增加了RAM的用量。内核本身对CPU的 占用时间一般在2到5个百分点之间。 调度(Scheduler):是内核的主要职责之一,就是要决 定该轮到哪个任务运行了。多数实时内核是基于优先级调 度法的。每个任务根据其重要程度的不同被赋予一定的优 先级。基于优先级的调度法指,CPU总是让处在就绪态的 优先级最高的任务先运行。
冯诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按 照程序顺序执行。
根据冯诺依曼体系结构构成的计算机,必须具有如下功能: 把需要的程序和数据送至计算机中。 必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。 能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。 能根据需要控制程序走向,并能根据指令控制机器的各部件协调操作。 能够按照要求将处理结果输出给用户。

Firm cores(―code+structure‖)(固核)


Hard cores(―physical‖)(硬核)



包含工艺相关的布局和时序信息
IP很容易保护 多数的处理器和存储器
13
IP核的商业模型
三种模式
一、计者提供设计和工具的许可证

DSP Group (Pine and Oak Cores), 3Soft, ARM 提供包括HDL在内的模拟模型,工具或仿真器 使用者负责设计制造
PC - 8
PC - 4
Execute

PC指向正被取指的指令,而非正在执行的指令
19
存储器系统
RAM:随机存取存储器, SRAM:静态随机存储器, DRAM: 动态随机存储器 1)SRAM比DRAM快 2)SRAM比DRAM耗电多
3)DRAM存储密度比SRAM高得多
4)DRM需要周期性刷新 ROM:只读存储器 FLASH:闪存
15
Βιβλιοθήκη Baidu
ARM的IP核
可综合内核(软核)
ARM926EJ-S ARM7TDMI-S ARM1026EJ-S
固化宏单元(硬核)
ARM920T ARM7TDMI ARM720T ARM1022E
测试芯片
ARM10200E
16
流水线技术
流水线技术:几个指令可以并行执行
•提高了CPU的运行效率
•内部信息流要求通畅流动
例如,很多基于微处理器的产品采用前后台系统设计,如微波炉 、电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态 ,所有的事都靠中断服务来完成。
26
前后台系统(后台循环、前台中断)
后台 前台
ISR
时间
ISR
ISR
27
代码的临界区

代码的临界区也称为临界区,指处理时不可分割的代码。 一旦这部分代码开始执行,则不允许任何中断打入。
相关文档
最新文档