北工大-嵌入式系统复习.pptxVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

体系结构:CISCRISCCISC指令集Intel及其兼容的处理器用最少的机器语言指令来完成所需的计算任务RISC:ReducedInstructionsSetComputing嵌入式系统:RISC处理器速度比内存快——寄存器,流水线思想:针对流水线化的处理器优化

2指标RISCCISC指令集一个周期执行一条,指令长度固定指令长度不固定,执行需要多个周期流水线流水线每周期前进一步指令的执行需要调用微代码的一个微程序寄存器更多通用寄存器专用寄存器Load/Store结构独立,完成数据在寄存器与外部存储器之间传输处理器可直接处理存储器中的数据

SamsungS3C44B0X微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案,它使用ARM7TDMI核,工作在66MHZ。为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件:

THUMB指令集(‘T’)体系结构变化4123THUMB指令集:32位ARM指令集的子集,按16位指令重新编码代码尺寸小(upto40%compression)简化设计123

5ARM/Thumb体系版本命名格式ARMv4xMARMv字符串体系结构版本号1~8表示变种的字符:MDTEJIS…内核的命名:ARM7TDMI-S系列号Thumb片上调试64位乘法EmbededICE可综合软核

010203040506ARM流水线技术存储模式I/O空间工作模式和寄存器组异常和异常向量表AMBA总线JTAG调试接口

指令流水线是RISC结构的共同点ARM73级ARM95级ARM106级ARMCortexA813级0103020405

按照冯·诺依曼型计算机执行程序的原理,指令必须是按顺序方式逐条串行执行的。比如加法指令可以分成取指令、指令译码、取操作数、ALU运算、写结果五个步骤,如果有程序中有连续两条这样的指令,在传统的计算机里必须等第一条指令完全结束才能开始执行流水线的好处是:第一条指令开始译码的时候,第二条就可以开始取指令了。

允许多个操作同时处理,比逐条指令执行快PC指向正被取指的指令,而非正在执行的指令寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank)FetchDecodeExecute从存储器中读取指令解码指令PC PCPC-4 PC-2PC-8PC-4ARMThumb

三级流水线:ExecuteDecodeExecuteExecuteFetchDecodeFetchDecodeFetch

ARM10采用了6级流水线,但是处于兼容考虑,直接读取PC值依然等于“当前指令地址+8”。更多级的Pipeline

多周期指令:时间片123456781.取ADD译码执行2.取STR译码算地址存数3.取ADD译码执行4.取ADD译码执行5.取ADD译码...冯诺依曼结构:不能同时访问指令和数据存储器

ARM95级流水线:哈佛结构01数据和指令分别进行独立编址02步骤:取指、译码、执行、缓冲、写回03取指:从程序存储器中取?指令流水线04译码:读取寄存器操作数05执行:如果是LDR\STR,则计算地址06缓冲:LDR\STR访问数据存储器,否则缓冲07写回:结果写到寄存器中08

流水线的效率也可能低下,两个原因:01相关性问题:02一是如果第一条指令的结果是第二条指令执行所需要的,那么就出现了相关性问题。这就导致流水线必须停下来等前面的运算结束才能够继续后面的指令。03解决这个问题的办法有乱序执行技术。04

程序转移问题:由于无法事先判断转移指令会走那一边,所以必须等待结果出现。由于这样的指令在程序中数量众多,通常会导致流水线的停顿状况非常严重。解决的方法:一般是通过风险的预测执行或强行并行执行来解决。321

010203040506ARM流水线技术存储模式I/O空间工作模式和寄存器组异常和异常向量表AMBA总线JTAG调试接口

ARM7TDMI处理器有两种工作状态:ARM-32-bit,按字排列的ARM指令集Thumb-16-bit,按半字排列的Thumb指令集ARM7TDMI核

文档评论(0)

shao12345 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档