嵌入式系统设计与实例开发(北航课件):二、基本概念

上传人:jiups****uk12 文档编号:57189633 上传时间:2018-10-19 格式:PPT 页数:192 大小:2.05MB
返回 下载 相关 举报
嵌入式系统设计与实例开发(北航课件):二、基本概念_第1页
第1页 / 共192页
嵌入式系统设计与实例开发(北航课件):二、基本概念_第2页
第2页 / 共192页
嵌入式系统设计与实例开发(北航课件):二、基本概念_第3页
第3页 / 共192页
嵌入式系统设计与实例开发(北航课件):二、基本概念_第4页
第4页 / 共192页
嵌入式系统设计与实例开发(北航课件):二、基本概念_第5页
第5页 / 共192页
点击查看更多>>
资源描述

《嵌入式系统设计与实例开发(北航课件):二、基本概念》由会员分享,可在线阅读,更多相关《嵌入式系统设计与实例开发(北航课件):二、基本概念(192页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统设计与实例开发 基于ARM微处理器与实时操作系统 第二讲 基本概念及设计方法金品文档,尽在金牌辅导 http:/ CISC与RISC IP 核 流水线 存储器系统,嵌入式系统硬件基础,冯诺依曼体系结构模型,指令寄存器,控制器,数据通道,输入,输出,中央处理器,存储器,程序,指令0,指令1,指令2,指令3,指令4,数据,数据0,数据1,数据2,地址,数据,哈佛体系结构,指令寄存器,控制器,数据通道,输入,输出,中央处理器,程序存储器,指令0,指令1,指令2,数据存储器,数据0,数据1,数据2,地址,指令,地址,数据,CISC和RISC,CISC:复杂指令集(Complex Instru

2、ction Set Computer) 具有大量的指令和寻址方式 8/2原则:80%的程序只使用20%的指令 大多数程序只使用少量的指令就能够运行。,RISC:精简指令集(Reduced Instruction Set Computer) 在通道中只包含最有用的指令 确保数据通道快速执行每一条指令 使CPU硬件结构设计变得更为简单,CISC的背景和特点,背景:存储资源紧缺, 强调编译优化 增强指令功能,设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的(微程序)指令系统来实现 为节省存储空间,强调高代码密度,指令格式不固定,指令可长可短,操作数可多可少 寻址方式复杂多样,操作

3、数可来自寄存器,也可来自存储器 采用微程序控制,执行每条指令均需完成一个微指令序列(微程序) CPI ,指令越复杂,CPI越大。CPUtime=Instr_Count * CPI * Clock_cycle,CISC的主要缺点,指令使用频度不均衡。 高频度使用的指令占据了绝大部分的执行时间,扩充的复杂指令往往是低频度指令。 大量复杂指令的控制逻辑不规整,不适于VLSI工艺 VLSI的出现,使单芯片处理机希望采用规整的硬联逻辑实现,而不希望用微程序,因为微程序的使用反而制约了速度提高。(微码的存控速度比CPU慢5-10倍)。 软硬功能分配 复杂指令增加硬件的复杂度,使指令执行周期大大加长,直接访

4、存次数增多,降低了CPU性能。 不利于先进指令级并行技术的采用 流水线技术,RISC基本设计思想,减小指令周期数 CPI: CPUtime=Instr_Count * CPI * Clock_cycle 精简指令集:保留最基本的,去掉复杂、使用频度不高的指令 采用Load/Store结构,有助于减少指令格式,统一存储器访问方式 采用硬接线控制代替微程序控制,CISC与RISC的对比,知识产权核(IP核, intellectual property),IP核是指具有知识产权的、功能具体、接口规 范、可重复使用、设计好并经过验证的集成电路功能单元 IP复用意味着设计代价降低(时间,价格) IP核的

5、类别: 微处理器: ARM, PowerPC; 存储器: RAM, memory controller; 外设: PCI, DMA controller; 多媒体处理: MPEG/JPEG ; encoder/decoder ; 数字信号处理器(DSP) 通信: Ethernet controller, router,IP核的种类,Soft Cores(“code”)(软核) HDL语言描述,以文本形式提交给用户 经过RTL级设计优化和功能验证,灵活度高,可修改 与工艺独立,可根据具体的加工工艺重新综合; IP很难保护 Firm cores(“code+structure”)(固核) 逻辑综合

6、后的描述,介于软核和硬核之间 完成门级电路综合和时序仿真,与工艺相关 Hard cores(“physical”)(硬核) 基于半导体工艺,经过工艺验证,物理综合后的描述 准备流片 包含工艺相关的布局和时序信息及物理结构掩模版图 IP很容易保护 多数的处理器和存储器,流水线技术,流水线技术:几个指令可以并行执行 提高了CPU的运行效率 内部信息流要求通畅流动,译码,取指,执行add,译码,取指,执行sub,译码,取指,执行cmp,时间,Add,Sub,Cmp,指令流水线以ARM为例,为增加处理器指令流的速度,ARM7 系列使用3级流水线. 允许多个操作同时处理,比逐条指令执行要快。PC指向正被

7、取指的指令,而非正在执行的指令,Fetch,Decode,Execute,从存储器中读取指令,解码指令,寄存器读(从寄存器Bank) 移位及ALU操作 寄存器写(到寄存器Bank ),PC PC,PC - 4 PC-2,PC - 8 PC - 4,ARM Thumb,最佳流水线,该例中用6个时钟周期执行了6条指令 所有的操作都在寄存器中(单周期执行) 指令周期数 (CPI) = 1,操作,周期,1 2 3 4 5 6,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch

8、,Decode,Execute,Decode,Execute,Fetch,Decode,Fetch,Fetch,LDR 流水线举例,该例中,用6周期执行了4条指令 指令周期数 (CPI) = 1.5,周期,操作,1 2 3 4 5 6,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Data,Writeback,Fetch,Decode,Execute,Fetch,Decode,Fetch,分支流水线举例,流水线被阻断 注意:内核运行在ARM状态,周期,1 2 3 4 5,地址 操作,Fetch,Decode,Exe

9、cute,Fetch,Decode,Execute,Fetch,Decode,Fetch,Fetch,Decode,Execute,Linkret,Adjust,Fetch,Decode,Fetch,高速缓存(CACHE),1、为什么采用高速缓存微处理器的时钟频率比内存的访问速度快得多,利用高速缓存(CACHE)可以减少内存的平均访问时间。 2、高速缓存的工作原理高速缓存是一种小型、快速的存储器,位于微处理器内部,它可保存部分主存内容的拷贝。,CPU,高速缓存控制器,CACHE,主存,数据,数据,地址,总线和总线桥,存储器系统的层次结构,寄存器,高速缓存SRAM,主存储器DRAM,本地存储器

10、Flash、ROM、磁盘,网络存储器 Flash、ROM、磁盘,时钟周期,0,110,50100,20000000,存储器系统,RAM:随机存取存储器, SRAM:静态随机存储器, DRAM:动态随机存储器1)SRAM比DRAM快2)SRAM比DRAM耗电多3)DRAM存储密度比SRAM高得多4)DRM需要周期性刷新 ROM:只读存储器 FLASH:闪存,NOR技术,NOR技术闪速存储器是最早出现的Flash Memory,目前仍是多数供应商支持的技术架构,它源于传统的EPROM器件。 与其它Flash Memory技术相比,具有可靠性高、随机读取速度快的优势,但擦除和写的速度较NAND慢。

11、在擦除和编程操作较少而直接执行代码的场合,尤其是代码(指令)存储的应用中广泛使用。 由于NOR技术Flash Memory的擦除和编程速度较慢,而块尺寸又较大,因此擦除和编程操作所花费的时间很长,在纯数据存储和文件存储的应用中,NOR技术显得力不从心。,NAND技术,NAND技术 Flash Memory具有以下特点: 以页为单位进行读和编程操作,1页为256或512字节;以块为单位进行擦除操作,1块为4K、8K或16K字节。具有快编程和快擦除的功能,其块擦除时间是2ms;而NOR技术的块擦除时间达到几百ms。 数据、地址采用同一总线,实现串行读取。随机读取速度慢且不能按字节随机编程。 芯片尺

12、寸小,引脚少,是位成本(bit cost)最低的固态存储器,突破了每兆字节0.1元的价格限制。 芯片包含有失效块,其数目最大可达到335块(取决于存储器密度)。失效块不会影响有效块的性能,但设计者需要将失效块在地址映射表中屏蔽起来。 基于NAND的存储器可以取代硬盘或其它块设备。,本节提要,1,3,2,4,嵌入式系统硬件基础,嵌入式系统软件基础,嵌入式操作系统,嵌入式系统设计方法,嵌入式软件体系结构,无操作系统的情形在嵌入式系统的发展初期,由于硬件的 配置比较低,对于是否有系统软件的支持, 要求还不是很强烈。在那个阶段,嵌入式软 件的设计主要是以应用为核心,应用软件直 接建立在硬件上,没有专门

13、的操作系统。 有操作系统的情形,无操作系统的情形,循环轮询系统:(Polling Loop) 最简单的软件结构,程序依次检查系统的每个输入条件,一旦条件成立就进行相应的处理。 Initialize(); while(1)if(condition_1) action_1();if(condition_2) action_2();if(condition_n) acition_n(); ,事件驱动系统:(Event-Driven system) 事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。 应用程序是一个无限循环,循环中调用相应的函数

14、完成相应操作,这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可看成前台行为(foreground)。 后台也可以叫做任务级,前台也叫中断级。,前后台系统(后台循环、前台中断),ISR,ISR,后台 前台,ISR,时间,有操作系统的情形,硬件,板级 初始化,设备 驱动层,以太网 驱动,串口 驱动,LCD 驱动,键盘 驱动,操作 系统层,中间件 层,应用 软件层,TCP/IP 网络系统,文件 系统,内核,嵌入式 GUI,嵌入式 CORBA,嵌入式 JAVA,嵌入式 DCOM,面向领域 的中间件,WWW 浏览器,MP3 播放器,电子 邮件,为什么要有设备驱动程序?

15、嵌入式硬件设备本身无法工作,需要软件来驱动,如初始化、控制、数据读写等。 什么是设备驱动程序? 直接与硬件打交道、对硬件进行控制和管理的软件。 在一个嵌入式系统中,设备驱动程序是必不可少的。,设备驱动程序,嵌入式操作系统,嵌入式操作系统包括嵌入式内核、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理等部分; 嵌入式内核是基础和核心,其他部分要根据嵌入式系统的需要来确定。,嵌入式中间件,中间件(Middleware):在OS内核、设备驱动程序和应用软件之外的所有系统软件; 中间件的基本思路:把原本属于应用软件层的一些通用的功能模块抽取出来,形成独立的一层软件,从而为运行在其上的各个应用软件提供一个灵活、安全、移植性好、相互通信、协同工作的平台; 优点:实现软件的可重用,降低应用软件的复杂性,降低开发成本。,嵌入式软件的目标,函数必须正确; 源代码简洁、可读性好、可维护; 实时性要求较高的代码能够运行得足够快; 目标代码小且高效。 总之,要优化对以下三种资源的使用: 执行时间; 存储空间; 开发/维护时间。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号