- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
tms320c55x的指令流水线及其效率的提高论文
TMS320C55x的指令流水线及其效率的提高论文
; 1 tms320c55x的指令流水线; dsp指令的执行,可以是直接执行,如ad公司的218x系列dsp,也可以采用指令流水线的方式。德州仪器公司的dsp产品一般都采用指令流水线的工作方式,即一条指令的执行分为若干个阶段完成,就像经过工厂里的生产流水线上的一道道工序一样,而同时,在流水线的其它阶段又分别有其它的指令在顺序地执行着。采用指令流水线的执行方式,可以大大提高系统的执行效率,使得系统可以低延迟或“无延迟”地执行较复杂的指令。因此,更多的dsp开始采用指令流水线的执行方式。; c55x继承了c54x的指令流水线的执行方式,其流水线分为两个分离的阶段,即“取指阶段”和“执行阶段”。在取指阶段,将4字节的指令包取入指令缓冲队列,这里面又包括提交地址、取指、预译码等4个阶段;而在执行阶段,则完成指令的译码执行,又可分为译码、取操作数、执行、写回结果等8个阶段。图1是“取指阶段”和“执行阶段”的示意图。; 其中“数据回写+”只出现在数据写入存储器的指令中。; c55x的指令流水线一般由程序流单元(pu)控制。程序流单元对指令译码,分派指令到寻址单元(au)和数据运算单元(du),并管理全部的保护流水线,其具有的预测转移能力可以避免条件指令执行引起的流水线刷新。; 2 tms320c55x指令流水线的自动保护机制; 虽然采用指令流水线的工作方式,可以提高系统的效率,但不同的指令执行情况不同,就有可能造成流水线的冲突。如:当一条指令想写入某寄存器时,前一指令还未完成对该寄存器的读取操作,就会产生流水线冲突的问题,这时候就必须对流水线进行保护,确保前一指令的读取操作完成后才修改该寄存器的值。遇到这样的情况,必须在第二条指令之前加入等待延迟。如:在设计c54x程序时,就需要程序设计人员在可能发生流水线冲突的指令前后手工加入nop(空操作)指令或调整指令的顺序,以使第二条指令执行时能取到正确的操作数。时刻关注流水线的冲突问题,在编程时是非常麻烦的;而在c55x中,由于采用多指令并行操作,流水线的冲突问题也就越发严重。但幸运的是,c55x中的指令流水线具有自动保护机制,其自动保护机制会在可能引起冲突的指令之间自动增加不活动的周期,以避免冲突的发生。这些都是在指令执行时自动加入的,不需要设计人员亲自去添加等待周期,从而省去了在编程时对流水线冲突进行调整的工作,大大降低了编程和调试的难度。而且,也正是由于指令流水线有了自动保护机制,才使得设计人员可以放心地使用c55x的并行指令。; 3 如何减少指令流水线的保护和延迟; 虽然c55x的自动保护指令流水线结构降低了编程时的复杂度,但指令流水线的保护造成的延迟也是影响c55x程序执行效率的一个重要方面。; 指令流水线的执行方式会产生流水线的冲突和保护,而c55x支持多指令同时执行,流水线冲突与保护的问题更加严重。所以,减少流水线的冲突,即减少流水线保护造成的延迟,对dsp的执行效率是大有影响的。下面就介绍流水线冲突的可能原因和如何避免流水线冲突,以尽量减少流水线保护机制所带来的延迟。; ① 对寄存器访问的竞争是影响流水线保护和延迟的主要原因。如果出现要对某寄存器读取/写入的时候,前一指令对该寄存器的写操作/读操作还未完成的情况,就会造成流水线保护和延迟。在以寄存器为条件执行指令的条件中,如果在测试条件时前面的指令对该寄存器的修改还未完成,也会造成流水线保护和延迟。而c55x大部分操作都是在寄存器内或依赖寄存器来完成的,所以这是造成流水线保护和延迟的主要原因。这时候,需要仔细安排指令的顺序,避免对寄存器访问的竞争;必要时可以采用加mmap()的方式,因为这会改变对相应的寄存器的读取和修改的流水线阶段,就有可能解决这个问题。; ② 对存储器访问的竞争也是影响流水线保护和延迟的重要原因。c55x内部存储器分为saram和daram两种。每个周期、每个saram体(bank)可被访问一次,daram体可被访问两次;如果在同一周期,指令(或并行指令对)中要对同一体访问超过两次的时候,就会造成流水线延迟。这时侯,可以考虑将其中一个数组复制到另一个存储器体中去,然后再执行相应的操作。在安排程序位置的时候,将程序代码放在saram区。因为,读取程序代码也可能和数据的存取产生竞争。; 此外,我们还要注意,c55x流水线将某些状态寄存器stx的某些位看作“位组”,将某些寄存器看作“寄存器组”。所以,在同时访问这些“位组”或“寄存器组”成员的时候,也会产生与同时访问一个寄存器或存储器地址类似的冲突,也会造成流水线延迟。; ③ 指令缓冲队列也有可能造成流水线保护和延迟。指令缓冲队列(ibq)用于保存准备解码执行的指令,每次送出6字节的指令译码,同时从程序区取4
您可能关注的文档
- sectioniireadingcomprehension.doc
- sellinganideaoraproduct.ppt
- severeacuterespiratorysyndrome(sars).partiinchinese.ppt
- seosearchengineoptimization.ppt
- silverlightbriefing-mix07-中国云计算-云计算.ppt
- simulink仿真基础.ppt
- silverlightbriefing-mix07.ppt
- single-sourceshortestpaths.ppt
- skinmagic使用详解.ppt
- sl11r单片机外部存储器的扩展..doc
最近下载
- 【有“化”好说1】必修1 物质的量、氧化还原反应.pdf VIP
- 读《思维导图与小学英语教学》有感.docx VIP
- 《旅游景区服务与管理》教案 第7课 熟悉旅游景区的自助式解说服务.docx VIP
- PSA15000Nm3h制氢装置操作手册.pdf VIP
- 《旅游景区服务与管理》教案 第6课 做一名优秀的景区讲解员.docx VIP
- 《旅游景区服务与管理》教案 第5课 认识旅游景区的解说服务.docx VIP
- 开利吊顶式新风机新样本N-DBFP(X)DFP(X).pdf VIP
- 【大单元教学】第四章 中国的经济发展 单元教学分析 人教版地理八年级上册.docx
- 历届茅盾文学奖获奖作品名 单.doc VIP
- 检验仪器分析技术 课件 第一章 临床检验分离仪器.pptx
文档评论(0)