当前位置:主页 > 科技论文 > 计算机论文 >

基于ZSP400的C程序优化方法研究

发布时间:2020-06-09 17:48
【摘要】: 本文首先给出超标量处理器的关键技术—流水线和超标量,然后深入讨论了ZSP400的架构特征及各功能模块的工作原理。在此基础上分析ZSP400应用C程序设计的特殊性,说明程序优化的目的、意义和可行性,提出C程序优化的评估标准,并给出一般优化流程。通过改进C程序结构并结合ZSP400的架构特点提出基于C语言的程序优化方法,利用这些方法编写简单的示例程序,用ZViewIDE分别对优化前后的示例程序进行编译与调试,通过比较二者函数统计信息来判定示例程序性能是否提高,从而验证优化方法的正确性与可行性。最后应用这些优化方法对离散余弦变换(DCT, Discrete Cosine Transform)C实现程序进行了优化,使程序性能获得了明显的提高,进一步验证了优化方法的正确性和可行性。本文所有仿真结果都是在ZViewIDE C编译器自动优化级选项设为最高(即-03级)的情况下得到的。
【图文】:

系统框图,系统框图,缓存,分配器


图 3.1 基于 ZSP400 的 SoC 系统框图所有指令都从 IU 中去取,然后被送至 PCU,PCU 对指令进行分组,处理和算术单元结果旁路,使流水线操作同步,同时处理来自 ICU 的load 和 store 指令通过 DU 执行,而算术和逻辑操作则被送到 EU,操被写回到操作数寄存器阵列(ORF, Operand Register File)中的寄存器。D水线中出现的诸如地址和数据断点这样的事件,DEU 主要是通过外部来控制。3.2 指令单元(IU)IU 由指令缓存、指令预取器、分支预测逻辑和指令分配器构成。指令缓存排列从指令存储器中取出的指令,用于减少指令存储器功耗证指令缓存饱和,并使流水线停顿最少。分支预测逻辑使流水线刷新指令分配器总是从指令缓存中取 4 条指令并进行解码。分配器每个周

序列,数据链接,缓存行


次被 load 指令调用时,数据预取器从数据存储器中取出两个缓存行缓存中并建立数据链。P400 支持 3 个数据链接寄存器或 3 组离散的连续数据流。一旦数据,这 3 组数据任一个的连续操作数的访问不会招致寄存器 load 惩罚于 load 指令每个周期可以从数据缓存中读取 4 个 16 位操作数或者数,而数据缓存每个周期又可从数据存储器取出 64 位的一个缓存行与消耗率正好相匹配。然而,数据预取器每周期只能为一个数据链通常就需要在建立序列内预取两个缓存行,以确保 ZSP400 不会用完数据。而,如果一个数据链的第一个操作数排列在缓存行的起始位置,,那行不必立即取用,因为下一个 32 位的操作数已经位于同一个缓存行器填充缓存的速度总可以比机器消耗链中数据的速度快,这样,ZS数据链接建立时节省一个周期。了给数据缓存写入两个缓存行所需要的建立惩罚之外,数据链接建形缓冲器的边界还会招致一个周期的额外惩罚。
【学位授予单位】:西安电子科技大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP368.1

【引证文献】

相关硕士学位论文 前3条

1 岳文标;基于ZSP500的G.729语音编解码算法研究与实现[D];西安电子科技大学;2012年

2 何曾毅;基于ZSP400的VoIP音频编解码器设计[D];西安电子科技大学;2012年

3 万俊维;数字集群通信协议DMR信道编解码技术的研究[D];北京邮电大学;2013年



本文编号:2705037

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2705037.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户86d3f***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com