嵌入式系统第2讲基本概念.ppt

  1. 1、本文档共111页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统第2讲基本概念

一、嵌入式系统硬件基础 冯·诺依曼体系结构和哈佛体系结构 CISC与RISC 影响CPU性能的因素 存储器系统 I/O接口 典型嵌入式系统基本组成-硬件 CISC与RISC的数据通道 RISC体系结构的特点 大多数指令只需要执行简单和基本的功能,执行过程在一个机器周期内完成; 由于存储器访问指令执行时间长,尽量减少这类指令,只保留Load/Store指令; 芯片逻辑采用硬布线逻辑以减少指令解释的开销,而不采用或少采用微码技术; 减少指令数和寻址方式,简化控制部件,提高执行速度; 指令格式固定,指令译码简单; 编译开销很大,应尽可能优化。 ARM体系结构在RISC基础上新增的特殊技术 所有的指令都可以根据前面的执行结果决定是否被执行,从而提高指令的执行效率; 可用Load/Store指令批量传送数据,以提高数据的传输效果; 可在一条数据处理指令中同时完成逻辑处理和移位处理。 每周期执行一条指令的吞吐量是理想情况。由于取指的存储器访问和执行的数据路径占用都是不可同时共享的资源,对多周期指令来说,就会产生流水线阻塞。如:STR指令的数据传送周期既需要存储器访问,又要占用数据通道,因此第3条指令的执行要等第2条指令的数据传送周期结束后才能运行。虽然第3、4条指令都在正常时钟周期被读出,但译码时间被推迟,造成第5条指令的取指延迟。 ARM的流水线设计问题 缩短程序执行时间 流水线的相关问题 结构相关、数据相关、控制相关等 流水线的相关问题 流水线的结构相关:指指令在流水线中重叠执行时,产生资源冲突。 在3级冯·诺依曼结构中,数据和指令在同一存储器中,几乎每一时钟周期都必须访问存储器(取指或传数据),因此访问数据存储器时就必须停止取指令存储器。ARM的解决方案是: 1)采用分离式数据cache和指令cache。此法解决了取指和数据传送的冲突、减小了CPI 2)ALU中采用单独加法器来完成地址计算。使执行周期的运算不再产生资源冲突。 流水线的相关问题续 流水线的数据相关:指当前指令需要前面指令的执行结果。ARM的解决方案是: 1)定向(旁路或短路)技术。将前面指令的执行结果直接传给后面需要的指令,而不必写入寄存器。 2)流水线互锁技术。指令需要的数据因以前的指令未完成而没有准备好时就产生管道互锁。互锁发生时,流水线将停止这个指令的执行,直到数据准备好为止。 流水线的控制相关:发生在流水线遇到分支指令和其它需要改变PC值的指令时。ARM的解决方案是: 1)引入延时分支。 2)尽早计算出分支转移成功时的PC值。 ARM的5级流水线 取指:将指令从存储器中取出,放入指令流水线中。 指令译码:对指令译码,从寄存器堆中读取寄存器操作数。 执行:把一个操作数移位,产生ALU结果。 数据缓存:若需要则访问数据存储器;否则ALU的结果只是简单的缓冲一个时钟周期,使所有的指令具有同样的流水线流程。 写回:将指令产生的结果回写到寄存器堆,包括任何从存储器读取的数据。 高速缓存(CACHE) 总线和总线桥 SRAM和DRAM 1)SRAM 2)DRAM 例如USB USB:Universal Serial Bus,通用串行总线 大家生活中常见的与USB有关的东西有: U盘、移动硬盘、无驱型的MP3(U盘) USB接口的键盘、Mouse、打印机、数码相机…… 即插即用,热插拨,系统不需重启便可工作,且易于扩展(127个) USB2.0以低成本实现高达480Mb/s的传输率(USB1.1的全速设备可达12Mb/s) 接口标准统一、端口供电 一个典型的USB通讯系统 二、嵌入式系统软件基础 操作系统的分类 嵌入式实时操作系统 前台与后台 多任务(嵌入式应用的普遍要求),任务优先级,调度 非占先式与占先式、可重入型函数 3.1 操作系统的分类 (1)顺序执行系统:系统内只含有一个程序,独占CPU的运行时间,按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。如DOS操作系统。 (2)分时操作系统:系统内同时可以有多个程序运行,把CPU的时间按顺序分成若干片,每个时间片内执行不同的程序。如UNIX。 (3)实时操作系统:系统内有多个程序运行,每个程序有不同的优先级,只有最高优先级的任务才能占有CPU的控制权。 按实时性分类 强实时系统,其系统响应时间在毫秒或微秒级(数控机床); 一般实时系统,其系统响应时间在毫秒-几秒的数量级上,其实时性的要求比强实时系统要差一些(电子菜谱的查询)。 弱实时系统,其系统响应时间约为数十秒或更长(工程机械)。 按软件结构分类 1)循环轮询系统:(Polling Loop) 最简单的

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档