- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                DSP汇编指令学习笔记(免费下载)
                    PAGE  
PAGE  34
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技术必须要有哈弗结构支持,即必须把指令空间与数据空间隔离存放。
流水线阻断
流水线中阻断现象也十分普遍,下面就各种阻断情况下的流水线性能进行详细分析。
流水线阻断总体有两种情况:
资源冲突阻断:
如果前一指令的某Stage与后一指令某Stage在同一个Cycle执行,但是前一指令此Stage占用了后一指此Stage的资源,则后一指令此Stage的工作会被延迟执行。
被延迟执行的动作会停留在前一个Stage状态,则前一个Stage的状态就不能进入新的指令的动作。
依次前推,则总有一个取指Stage的指令被阻断,那么其后一个指令也被阻断而不能被取指。
所以,每产生一个Cycle的阻断,就会让CPU的执行延迟一个Cycle。即此指令后面的所有指令都会被延迟一个Cycle被执行。
解决的方法是:使用Cache让存放变得更快;变量集群使用,记录减少变量存放到memory的需要。
跳转阻断:
跳转阻断有很多情况产生,比如函数调用/返回,循环的break/continue,if等条件判断,循环跳转,中断跳转的产生。
一旦某条指令要进行跳转时,它就会设置LR寄存器,阻止后续的指令进入执行Stage,并修改PC指针,执行跳转后的目标代码。
解决的方法是:减少循环、条件判断、分支结构的使用。
DSP Pipeline技术
DSP具有8个独立的执行单元,所以每个CYCLE可以执行8条指令(要求其总线宽度是256bit)。
即DSP是8个pipeline并行处理的技术。所以DSP每个阶段取8个指令,然后在译码阶段把8个指令分配到8个执行单元去处理。
所以必须保证被同时取的指令之间没有相关性(即一个指令的执行不需要其他指令的结果参与),否则会得到错误的结果。所以,DSP引入了NOP指令,如果不能实现这一的要求,则DSP的编译器,则DSP优化器会在其编译的指令后面添加NOP指令。表示此Cycle不能执行8条有效指令,只能擦入空指令。则这样就会有某些执行单元在此CYCLE空闲了。
DSP Pipeline阻断
DSP Pipleline的阻断处理相对比较复杂一些,因为它涉及到8独立执行单元的阻断。
资源冲突阻断:
如果某个Unit因为资源冲突阻断,或者因为一个指令需要多个Cycle执行。则此Unit会被阻断。
当某个Unit被阻断时,其上一个阶段的指令就不能往下传递。一直阻断到此Unit的取值动作。
所以当有阻断发生是,FG并不会请求8条指令,而是请求1-7条,或者不请求(8个Unit全部阻断了)。这样没有被阻断的Unit还是能够充分运行的。
跳转阻断:/p-908395009795.html
NOP
Not dispatched instruction
It is an empty instruction in DP packet.
如果一个指令标识需要Dela
                您可能关注的文档
最近下载
- IPC-6012F 2023 EN,刚性印制板性能要求Qualification and Performance Specification for Rigid Printed Boards.pdf VIP
 - AI技术对法律和法务行业的影响与展望 .pdf VIP
 - 14.《光从哪里来》课件 科学冀人版五年级上册.ppt
 - 南雄市“珠玑古巷”文化旅游发展现状及对策分析.docx VIP
 - 小学二年级上册语文“的地得”练习题及答案.doc VIP
 - 大学生职业生涯规划.pdf VIP
 - 习作:我和过一天教学设计及反思 .pdf VIP
 - 2025年中国甲板机械设备行业投资前景及策略咨询研究报告.docx
 - 大学生职业生涯规划—全套PPT课件.pptx
 - 身边常见中草药.pdf VIP
 
原创力文档
                        

文档评论(0)