DSP汇编令学习笔记(免费下载).docVIP

  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文档。上传文档
查看更多
DSP汇编令学习笔记(免费下载)

DSP汇编指令学习笔记 Knowledge 问题 谁在DSP的汇编语言中加入了NOP指令? NOP指令加入的条件是什么? About DSP DSP是实时数字信号处理的核心和标志。 DSP分为专用和通用两种类型。专用DSP一般采用定点数据结构(一般不支持小数),数据结构简单,处理速度快;通用DSP灵活性好,但是处理速度有所降低。 DSP采用取指、译码、执行三个阶段的流水线(Pipeline)技术,缩短了执行时间,提高了运行速率。DSP具有8个Functional unit,如果并行处理的话,以600MHz的时钟计算,如果执行的指令是single cycle指令,则可以4800MIPS(指令每秒)。 DSP的8个functional Unit,具有独特的功能,对滤波、矩阵运算、FFT(傅里叶变换)具有 哈弗结构 把指令空间与数据空间隔离的存储方式。 这样实现是为了实现指令的连续读取,而实现pipeline流水线结构。 传统哈弗结构:两个独立的存储空间,还使用独立总线。让取指与执行存储独立,加快执行速度。 改进型哈弗结构:指令与数据的存储空间还是独立的。但是使用公共的总线(地址总线与数据总线)。这样实现的原因是因为出现了CACHE,数据的存储动作大部分被内部的CACHE总线承接了,所以总线冲突的情况会大大减少。同时让总线的结构与控制变得简单,CACHE存储的速度也明显快于外设存储器。 冯诺依曼结构:是指令空间与数据空间共享的存放方式。它不能实现pipeline的执行过程。 Pipeline(流水线)技术 是把指令的取指-译码和指令的执行独立开来的技术。虽然每条指令的过程还是要经过取指-译码-执行三个阶段最少3个CPU Cycle。但是多个指令同时并行先后进行,保证总体的指令吞吐速率理想情况下可以保证在每个指令只要一个CPU CYCLE。 Pipeline技术必须要有哈弗结构支持,即必须把指令空间与数据空间隔离存放。 流水线阻断流水线中阻断现象也十分普遍,下面就各种阻断情况下的流水线性能进行详细分析。/p-908395009795.html NOP Not dispatched instruction It is an empty instruction in DP packet. 如果一个指令标识需要Delay N个slot,则需要在这个指令后面跟N个NOP指令(对于那些自身不带NOP的指令,比如B)(但是对于BNOP则不需要的)。 通过寄存器的定位技巧 查看NRP寄存器的值,则可以直接查看在哪个周期的指令异常了(NRP指令的前一周期就是crash的指令)(使用A10/B10……可以看到此函数的参数) 查看B3寄存器的值,跳到此代码段查看前面一个的Jump指令。看是jump到哪个函数了,则是在此函数中出异常了。则可以看到是谁调用的此crash的函数。(使用A4/B4……可以看到parent的参数) 如果参数是二维指针,则此参数所在类存一般都是栈内的某个地址。(可以根据栈空间的特点知道具体应该是哪个地址) CPU data path control 说明: Register A也是由两片寄存器组组成的,A0:A1/ … /A30:A31的pair是分布在两个组片中的 ST path是把寄存器的值写入内存的路径 LD path是把内存的值加载到寄存器中的路径 DA path是读写寄存器的路径 X path是跨组读写寄存器的路径 A B path general purpose registers Each A B path has 32 32-bit register, named A0-A31, B0-B31. It supports 40bit 64bit value. If value is larger than 32 bit, it needs register-pair. The 32LSB stores in even-numbered register, such A0, and the 8 or 32 MSB stores in odd-numbered register, such A1. General purpose registers can be used for data, address pointers, condition registers. 8 functional units 8 functional units can be divided into 2 groups, G1: L1, S1, M1, D1 for A register path, and G2: L2, S2, M2, D2 for B register path. Each fu

文档评论(0)

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

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

1亿VIP精品文档

相关文档