与MIPS体系结构相关的处理器知识.pptVIP

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

工作中与处理器有关的问题 之 编译反汇编 编译过程我们不用太多关注处理器的信息,那是编译器的任务。但是反汇编的时候,如果需要理解反汇编出来的代码,则必须要理解相关处理器的指令集。我认为应该多少学习一下汇编代码。 而我们为什么要会反汇编。我在2126EA-MA(B)这款MIPS芯片的设备中深刻体会了一把,也吃到了不少甜头。个人觉得反汇编有两个作用:1、debug。有些看代码很难找的bug在反汇编下很容易“原形毕露”。2、更好的理解你的代码。反汇编出来的东西更接近指令,对比阅读能让你更好的理解同一个功能,用不同的代码写会有什么不同的指令体现,什么方式效率更高。这也是我上面提到的大家最好抽空学学汇编语言,有助于理解代码,更好更快的定位问题。 个人的一些理解 一 以下是个人的一些对处理器、编译器的理解后总结的编程习惯: (一)不要有太多的条件分支。这个与处理器的流水线技术有关。一条指令的执行一般会分成几个步骤,比如取指、译指、执行指令等,很多处理器有7-20个左右的步骤,每条指令都需要顺序经过每个步骤。另外指令是需要依次执行的。以三个步骤为例说明流水线技术。每个步骤都需要特定的硬件模块执行,比如取指需要取指模块完成,译指需要译指模块完成。假设每个步骤耗时为t,如果处理器只有执行结束一条指令的所有步骤之后才执行下一条指令,那么三条指令(A、B、C)总共需要9t时间。如果采用流水线技术,那么当A进入译指模块的时候,取指模块已经取出B 个人的一些理解 二 的指令了,当A进入执行阶段的时候,B进入译指阶段,C进入取指阶段。这样下来三条指令只需花费5t的时间,当指令很多的时候,每条指令花费的时间应该是t。当然这个是理想情况,导致流水线中断的有多个原因,比如数据依赖和条件分支,这里说一下条件分支。在条件分支下,A的下一条指令可能不是B而是E。如果A执行完成之后,发现下一条指令是E而不是B,这个时候,B已经完成了译指,C完成了取指。但是不但白做了,还增加了额外的负担:清空流水线,这个对效率的影响是很明显的。因此对于那些对效率要求很高的算 个人的一些理解 二 法而言最好减少条件分支。Gcc提供了一些属性,用于在if语句中判断这个if是有可能还是不大可能。比如内存分配失败不大可能出现,可以写成if (unlikely(NULL == p))表示p==NULL出现的概率很小,那么编译器就会优化这段代码,让流水线的下一条指令是if外面的代码。对于那些可能性很大的代码,则写成if (likely(NULL != p))则流水线的下一条指令是if内部的代码。 个人的一些理解 四 (二)如果内存不成问题或者有其他原因,尽可能用等同于处理器位宽的类型。这个对于mips的CPU来说尤为关键,一来影响访存,而来影响运算。从PPC的反汇编来看,如果是两个ushort_t进行逻辑运算也需要扩充成32位的进行,扩充的过程是需要浪费时间的。 (三)能有++i的地方最好别用i++。当然这个大部分的编译器可能会优化掉。i++的过程比++i要复杂多了,i++,需要先备份一下i,然后加1,再执行相应的操作。 大家有什么问题,欢迎讨论 / 英文目录标题:33-42pt 颜色: R204 G51 B0 字体 : Arial 英文目录副标题:25-32pt 颜色: R204 G51 B0 字体 : Arial 中文目录标题:33-42pt 颜色: R204 G51 B0 字体:黑体 中文目录副标题:33-40pt 颜色: R204 G51 B0 字体:黑体 英文目录正文:20-30pt 子目录 (2-5级) :18pt 颜色:黑色 字体 :Times NEW Roman 中文目录正文:20-30pt 子目录(2-5级):18pt 颜色:黑色 字体:宋体 配色参考方案: 建议同一页面内不超过四种颜色,以下是6组配色方案,同一页面内只选择一组使用。 (仅供参考) / 英文目录标题:33-42pt 颜色: R204 G51 B0 字体 : Arial 英文目录副标题:25-32pt 颜色: R204 G51 B0 字体 : Arial 中文目录标题:33-42pt 颜色: R204 G51 B0 字体:黑体 中文目录副标题:33-40pt 颜色: R204 G51 B0 字体:黑体 英文目录正文:20-30pt 子目录 (2-5级) :18pt 颜色:黑色 字体 :Times NEW Roman 中文目录正文:20-30pt 子目录(2-5级):18pt 颜色:黑色 字体:宋体 配色参考方案: 建议同一页面内不超过四种颜色

文档评论(0)

仙人指路 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档