[发明专利]一种C64x+ DSP软件流水循环缓冲机制的模拟方法有效
申请号: | 202110765360.0 | 申请日: | 2021-07-07 |
公开(公告)号: | CN113407240B | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 潘皓;蔡铭 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 c64x dsp 软件 流水 循环 缓冲 机制 模拟 方法 | ||
本发明公开了一种C64x+DSP软件流水循环缓冲机制的模拟方法,该方法将软件流水循环缓冲的执行过程进行了抽象,将其设计为一个具有不同状态、阶段的二层状态机。首先,通过控制信息进行状态机的状态、阶段判断;然后,根据状态机的状态、阶段,选取并执行循环缓冲操作的序列组合,以实现循环缓冲运行时程序存储器和循环缓冲器的实际操作。最后,更新控制信息和状态机的状态、阶段,判断和处理普通流水线和中断的重启。本发明能够完成对于C64x+DSP软件流水循环缓冲机制的高效模拟,具有较好的应用前景。
技术领域
本发明属于体系结构模拟领域,尤其涉及一种C64x+ DSP软件流水循环缓冲机制的模拟方法。
背景技术
DSP是为数字信号处理任务而专门设计的微处理器芯片,其程序开发通常采用交叉编译的开发模式,然而这种开发流程既需要硬件设备,又难以获取足够的调试信息反馈。为了实现如动态调试、故障注入等DSP程序开发所需的重要功能,帮助程序进行功能调试、算法优化和性能评估,需要开发对应DSP芯片的软件模拟器。
TMS320C64x+(简称C64x+)系列DSP是TI(德州仪器公司)研发的基于VelociTI体系结构的高性能DSP,在国内广泛应用于国防和航空航天中。由于数字信号处理算法通常需要对一系列数据样本循环执行大量数学运算,其循环可通过软件流水调度提高4.2倍运行性能。相比于其它VLIW DSP芯片,C64x+ DSP针对软件流水循环首次引入了循环缓冲机制,以优化软件流水循环的代码和执行。循环缓冲机制的引入可使生成的软件流水代码大小平均降低17.4%,程序存储器功耗平均降低2.6倍,但是其引入增加了以循环缓冲器为核心的硬件结构、一组控制循环运行的指令,以及循环缓冲在不同情况下运行流程的细致约定,使其成为C64x+模拟器实现过程中最精细而复杂的部分。因此,正确且高性能的软件流水循环缓冲机制是C64x+ DSP模拟器实现的瓶颈和关键。
发明内容
本发明的目的在于针对C64x+软件流水循环缓冲机制的模拟复杂性,提供了一种C64x+ DSP软件流水循环缓冲机制的模拟方法。
本发明的目的是通过以下技术方案来实现的:一种C64x+ DSP软件流水循环缓冲机制的模拟方法,包括以下步骤:
(1)通过循环缓冲控制信息进行状态机的状态、阶段判断。
(2)根据步骤(1)得到的状态机的状态、阶段,选取并执行循环缓冲操作的序列组合,以实现循环缓冲运行时程序存储器和循环缓冲器的实际操作。
(3)根据步骤(2)执行的结果更新循环缓冲时序信息,依据更新后的所有循环控制信息进行状态机的状态、阶段转换,并进行循环跳出判断。
(4)根据步骤(3)中所得的循环控制信息,判断和处理普通流水线和中断的重启。
重复执行上述步骤,直至结束。其中,所述循环缓冲控制信息包括:
循环缓冲状态信息:循环缓冲状态信息记录循环缓冲的状态、阶段以及中断请求和屏蔽信息。循环缓冲完成判断信息:包括循环终止条件类别和ILC寄存器可用标识。
循环缓冲时序信息:包括软件流水阶段信息及其相应的周期信息。
用于取指的信息:包括指令屏蔽信息、流水线启停标识和排空阶段到流水线重启所需的周期数。
所述状态机的状态包括:
初始终止initial_termination状态:软件流水循环缓冲由SPLOOP指令激活且SPLOOP指令执行时ILC寄存器可用标识为0的情况下,为initial_termination状态。
正常normal状态:软件流水循环缓冲在非中断返回时由SPLOOP(D/W)三种指令的执行而激活,并至少循环迭代一次时,为normal状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110765360.0/2.html,转载请声明来源钻瓜专利网。