[发明专利]一种基于延迟槽补偿的DSP流水线模拟方法在审
申请号: | 201710156920.6 | 申请日: | 2017-03-16 |
公开(公告)号: | CN106933652A | 公开(公告)日: | 2017-07-07 |
发明(设计)人: | 卢建鹏 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/38 |
代理公司: | 杭州求是专利事务所有限公司33200 | 代理人: | 邱启旺 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 延迟 补偿 dsp 流水线 模拟 方法 | ||
技术领域
本发明涉及CPU流水线模拟,尤其涉及一种基于延迟槽补偿的DSP流水线模拟方法。
背景技术
用软件来模拟硬件,可以带来许多好处。比如硬件的生产需要成本,而且硬件易损坏,而软件在被正确开发之后,就几乎不再需要成本。用来模拟计算机的软件,模拟器,其出现给软件的开发、调试带来了巨大的效率提升,比如有了安卓模拟器,当程序员在开发安卓软件的时候,只需在PC上进行程序开发,然后由模拟器来直接运行,而不需要把开发的程序下载到真实的安卓机上。
对于计算机来说,核心是处理器(CPU),而CPU的核心可以说是流水线,流水线驱动着CPU的工作。所以模拟器最重要也最困难的任务就是CPU流水线的模拟。
对于DSP流水线的模拟,传统上是按行为来模拟流水线,比如DSP流水线有PG、PS、PW、PR、DP、DC、E1、E2……E10等共16个阶段,即一个时钟内流水线做了16种不同的工作,对于硬件来说,这16种工作是并行的,流水线越深,在一定程度上程序就跑得越快,而对软件模拟来说,是串行执行的,流水线越深,需要模拟的行为就越多,效率就越低。
发明内容
本发明的目的是针对传统的DSP流水线模拟方法的不足,提供一种基于延迟槽补偿的DSP流水线模拟方法。
本发明的目的是通过以下技术方案来实现的:一种基于延迟槽补偿的DSP流水线模拟方法,具体包括如下步骤:
(1)解析目标文件,得到代码段和程序入口点,把代码段加载到模拟内存中。
(2)对代码段的指令进行译码,保存译码后的信息,得到PC到译码后的信息的映射关系。
(3)初始化延迟槽,初始化PC为程序入口点,清空延迟槽内的所有结点。
(4)令CPU向前迭代一个时钟,根据当前的PC值,通过步骤(2)得到的映射关系,得到当前指令对应的译码后的信息,解释执行当前指令,如果该指令在非E1阶段写回,则在延迟槽中新增一个结点,该结点保存了需要写回的目的寄存器、写回的结果值以及写回的时间(CPU时钟数);如果该指令在E1阶段写回,则直接将结果写回寄存器;
(5)检查延迟槽内所有结点写回的时间是否与当前时间一致,若结点写回的时间与当前时间保持一致,则将结点记录的信息进行写回,然后移除该结点。
(6)循环步骤(4)-步骤(5),直到最后一条指令执行完毕,完成了流水线的模拟。
进一步的,在所述步骤(3)中初始化延迟槽,即初始化一个含空结点的链表或哈希表,将其作为指令结果写回的暂存结构。
本发明的有益效果是,在保证正确性的基础上,大大加快了流水线模拟方法的效率,加快了目标程序执行的速度:
(1)剪裁了模拟中的流水线,提高了负载程序的执行速度。
(2)通过延迟槽补偿机制,在流水线剪裁的情况下,保证流水线的正确流动。
附图说明
图1是本发明的流程图。
具体实施方式
下面结合附图对本发明做进一步的说明。
如图1所示,一种基于延迟槽补偿的DSP流水线模拟方法,具体包括如下步骤:
(1)加载目标文件,根据目标文件的格式进行解析,得到程序入口点、代码段等信息。代码段是指令的目标码集合,将代码段加载到模拟内存中。对每条指令目标码进行译码,将译码后的结构保存起来,得到一个指令到指令译码后的一个映射。
(2)对代码段的指令进行译码,保存译码后的信息,得到PC到译码后的信息的映射关系。
(3)初始化延迟槽,即初始化一个含空结点的链表或哈希表,将其作为指令结果写回的暂存结构,初始化PC为程序入口点,清空延迟槽内的所有结点。
(4)令CPU向前迭代一个时钟,根据当前的PC值,通过步骤(2)得到的映射关系,索引得到当前指令对应的译码后的信息,解释执行当前指令,如果该指令在非E1阶段写回,如Branch等指令,则在延迟槽中新增一个结点,该结点保存了需要写回的目的寄存器、写回的结果值以及写回的时间(CPU时钟数);如果该指令在E1阶段写回,如ABS、MV等指令,则直接将结果写回寄存器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710156920.6/2.html,转载请声明来源钻瓜专利网。