一种全数字快速仿真技术的制作方法

文档序号:6534841阅读:251来源:国知局
一种全数字快速仿真技术的制作方法
【专利摘要】本发明公布了一种全数字快速仿真技术,其特征在于:包括以下技术部分:1)倒序流水线技术;2)寄存器备份技术;3)存储系统写时分配技术;4)功能部件寄存器缓存延迟技术;5)指令译码缓冲技术;6)高速缓存数据仿真与延迟模拟分离技术。本发明通过组合应用,实现全数字快速仿真,满足基于全数字仿真环境的嵌入式软件开发、调试、测试等工作,显著提高研发效率,降低成本,提高质量,缩短上市时间。
【专利说明】一种全数字快速仿真技术
【技术领域】
[0001]本发明属于计算机仿真【技术领域】,具体地说,涉及一种全数字快速仿真技术。
【背景技术】
[0002]C67X系列DSP是嵌入式系统中普遍采用的高性能数字信号处理芯片,其采用16级流水线,8发射超长指令字等技术,以高吞吐率、低延迟、高稳定性等特点成为多种系统设计的首选。但是由于该DSP高度复杂的指令集和流水线结构,数字化仿真技术面临诸多挑战,尤其是全数字快速仿真技术是解决其可用性的基础。当前DSP C67X的数字仿真只有国外TI公司的仿真软件,但是属于商业机密,且仿真性能非常低,无法满足应用需求。

【发明内容】

[0003]为解决【背景技术】中的问题,本发明提供了一种全数字快速仿真技术,通过组合应用,实现全数字快速仿真,满足基于全数字仿真环境的嵌入式软件开发、调试、测试等工作,显著提高研发效率,降低成本,提高质量,缩短上市时间。
[0004]本发明的技术方案是:
[0005]一种全数字快速仿真技术,其特征在于:包括以下技术部分:1)、倒序流水线技术;2)、寄存器备份技术;3)、存储系统写时分配技术;4)、功能部件寄存器缓存延迟技术;5)、指令译码缓冲技术;6)、高速缓存数据仿真与延迟模拟分离技术。
[0006]所述倒序流水线技术是虚拟机流水线各个阶段的模拟需要储存当前模拟指令,采用倒序模拟可以有效减小程序内存消耗。
[0007]所述寄存器备份技术在模拟流水线的之前和之后,分别是寄存器备份和寄存器恢复操作。
[0008]所述存储系统写时分配技术是采取用时分配的方式,即每一段地址空间,如果用户程序不进行访问,就不予分配空间,在程序执行过程中完成存储空间的分配。
[0009]所述功能部件寄存器缓存延迟技术中的功能部件,包括算术逻辑运算、浮点运算和存储器访问,最多包含10级流水线,采用倒序流水线技术需要10个函数调用。
[0010]所述指令译码缓冲技术是虚拟内核分配一片内存区域用来专门存储这些循环指令的译码信息;当下一个指令包的地址和指令译码缓存中的指令包地址一致时,那么在流水线前六个阶段就不需要进行任何操作,执行时使用指令译码缓存中的各条指令的译码信肩、O
[0011 ] 所述高速缓存数据仿真与延迟模拟分离技术是处理器核在进行数据访问时,可以直接通过存储空间的快速通路进行数据的存储,保证程序运行的正确性,但是在进行系统级精确模拟,需要获得时序等性能信息时,可以选择性的添加存储层次延迟模拟。
[0012]由于采用了上述技术方案,与现有技术相比较,本发明通过组合应用,实现全数字快速仿真,满足基于全数字仿真环境的嵌入式软件开发、调试、测试等工作,显著提高研发效率,降低成本,提高质量,缩短上市时间。【具体实施方式】
[0013]实施例
[0014]一种全数字快速仿真技术,包括以下技术部分:1)、倒序流水线技术;2)、寄存器备份技术;3)、存储系统写时分配技术;4)、功能部件寄存器缓存延迟技术;5)、指令译码缓冲技术;6)、高速缓存数据仿真与延迟模拟分离技术。
[0015]技术一:倒序流水线技术。
[0016]C67XX的虚拟机流水线各个阶段的模拟需要储存当前模拟指令,采用倒序模拟可以有效减小程序内存消耗。由于在同一时钟中,流水线的各个阶段在实际中是同时进行的,顺序模拟和倒序模拟对结果没有关系,但是采取倒序模拟时,El阶段上一个时钟中执行的是指令N,而DC模拟执行的是指令N+1,因此在这个时钟周期内,El先于DC执行,DC还储存指令N+1,所以El只需复制DC阶段指令覆盖原来的指令N ;但如果如右边的顺序模拟,DC先于El执行,DC不仅需要内存存储需要模拟的指令,同时还需要存储指令N+1为El阶段模拟执行,由此可见,在流水线模拟阶段,倒序模拟比顺序模拟可以节省近50%的内存空间。
[0017]流水线倒序模拟可以更好保证跳转指令的正确执行,加入流水线El模拟时正在模拟跳转指令N,倒序模拟和顺序模拟的各个阶段,左边的倒序模拟,此时PS正在模拟第N+5条执行,El的跳转指令可以在这个时钟周期直接影响流水线PG的模拟,因此跳转指令的延迟槽为5,符合C67X跳转指令执行。
[0018]技术二:寄存器备份技术
[0019]在模拟16级流水线的之前和之后,分别是寄存器备份和寄存器恢复操作,这是因为C67X DSP采用8发射VLIW技术,即每个时钟周期最多可以执行8条指令,可能存在多条指令并行对同一寄存器的读和写,但是软件仿真平台采用高级语言编写,模拟指令执行时只能一条一条执行,因此无法模拟多条指令的并行读写寄存器操作,可能造成寄存器数值的读与错误。
[0020]C67X仿真平台采用寄存器备份技术,即在每次执行一个VLIW内多条指令之前,对寄存器进行备份,系统维护两份寄存器文件,多条指令并行执行时从一份文件中读,向另一份文件中写,从而保证了不会发生读写覆盖情况,保持程序执行语义的正确性。
[0021]技术三:存储系统写时分配技术
[0022]DSP C67X支持32地址寻址空间,最多需要4G的存储空间大小,而仿真环境在模拟时不可能为每个用户程序都开辟4G的空间,而且也是不必要的。C67X仿真平台采取用时分配的方式,即每一段地址空间,如果用户程序不进行访问,就不予分配空间,在程序执行过程中完成存储空间的分配。存储空间的管理机制,在仿真平台初始化时,只是包含一系列存储块的空指针,而当实际内存读写访问到相应存储块时,才对存储区指针进行分配空间,然后运行用户程序进行操作,从而避免了空间开辟的浪费。
[0023]技术四:功能部件寄存器缓存延迟技术
[0024]功能部件,包括算术逻辑运算、浮点运算和存储器访问等,最多包含10级流水线,采用倒序流水线技术需要10个函数调用,而且只有少数指令能达到五级以上流水,鉴于高级语言的串行特征,将导致大量的无效函数调用开销;当采用解释执行进行指令模拟时,每条指令均采用一个函数进行模拟,对于多周期指令,需要将其功能进行划分,分解到多个流水级模拟函数中,鉴于上述分析,在实现时,将在Pipeline_el完成指令的模拟执行,而E2?ElO仅仅用于模拟指令执行延迟,以精确模拟时序周期,因此可用一个延迟缓冲实现,Register_Latency_Buffer,将Pipeline_el完成的指令计算结果进行缓冲,根据DSPC67XX微结构对指令延迟的定义,在约定时钟周期后将结果写回寄存器文件。
[0025]功能部件延迟缓冲可以有效减少函数调用,集中指令模拟过程,增加片上存储系统的利用率,提高模拟效率。
[0026]技术五:指令译码缓冲
[0027]DSP C67XX处理器流水线一共分为16级,分别为计算指令包地址、发送指令包地址,等待获得指令包、收取指令包、指令分派、指令译码和十个执行阶段。
[0028]虚拟内核每条指令都将模拟前六个阶段,而根据指令特点模拟其余十个阶段。因此在循环次数较大情况下,会有前六个阶段大量重复的模拟执行。而这些操作并不需要每次都完整进行,其实指令获取和译码只需要一次,也就是第一次循环时的指令获取和译码所得的译码信息。
[0029]指令译码缓存是虚拟内核分配一片内存区域用来专门存储这些循环指令的译码信息。当下一个指令包的地址和指令译码缓存中的指令包地址一致时,那么在流水线前六个阶段就不需要进行任何操作,El阶段模拟执行时使用指令译码缓存中的各条指令的译码信息。
[0030]技术六:高速缓存数据仿真与延迟模拟分离技术
[0031]按照冯诺依曼体系结构定义,存储空间存放着所有指令和数据等计算状态信息,理论上处理器核可以直接通过存储器访问完成程序执行;但是半导体发展导致数字逻辑和存储单元的访问速度存在巨大差异,因此存储系统越来越复杂,但是对于程序而言,不论是硬件Cache层次,抑或是虚拟存储管理,都是透明的,程序本身可见的只有地址空间。
[0032]Cache层次仅仅对存储系统硬件设计的性能存在较大影响,而对于软件模拟器而言,其最大效果是延迟信息的获得,因此在实际设计过程中,将存储系统的原始功能,即数据存储作为独立的模块,而存储层次等性能模拟作为独立的模块进行处理。
[0033]处理器核在进行数据访问时,可以直接通过存储空间的快速通路进行数据的存储,保证程序运行的正确性,但是在进行系统级精确模拟,需要获得时序等性能信息时,可以选择性的添加存储层次延迟模拟。这种功能与性能模拟分离的方式,为虚拟内核的使用提供了更大的灵活自由度。
[0034]本发明不局限于上述的优选实施方式,任何人应该得知在本发明的启示下做出的变化,凡是与本发明具有相同或者相近似的技术方案,均属于本发明的保护范围。
【权利要求】
1.一种全数字快速仿真技术,其特征在于:包括以下技术部分: I)、倒序流水线技术;2)、寄存器备份技术;3)、存储系统写时分配技术;4)、功能部件寄存器缓存延迟技术;5)、指令译码缓冲技术;6)、高速缓存数据仿真与延迟模拟分离技术。
2.如权利要求1所述的全数字快速仿真技术,其特征在于:所述倒序流水线技术是虚拟机流水线各个阶段的模拟需要储存当前模拟指令,采用倒序模拟可以有效减小程序内存消耗。
3.如权利要求1所述的全数字快速仿真技术,其特征在于:所述寄存器备份技术在模拟流水线的之前和之后,分别是寄存器备份和寄存器恢复操作。
4.如权利要求1所述的全数字快速仿真技术,其特征在于:所述存储系统写时分配技术是采取用时分配的方式,即每一段地址空间,如果用户程序不进行访问,就不予分配空间,在程序执行过程中完成存储空间的分配。
5.如权利要求1所述的全数字快速仿真技术,其特征在于:所述功能部件寄存器缓存延迟技术中的功能部件,包括算术逻辑运算、浮点运算和存储器访问,最多包含10级流水线,采用倒序流水线技术需要10个函数调用。
6.如权利要求1所述的全数字快速仿真技术,其特征在于:所述指令译码缓冲技术是虚拟内核分配一片内存区域用来专门存储这些循环指令的译码信息;当下一个指令包的地址和指令译码缓存中的指令包地址一致时,那么在流水线前六个阶段就不需要进行任何操作,执行时使用指令译码缓存中的各条指令的译码信息。
7.如权利要求1所述的全数字快速仿真技术,其特征在于:所述高速缓存数据仿真与延迟模拟分离技术是处理器核在进行数据访问时,可以直接通过存储空间的快速通路进行数据的存储,保证程序运行的正确性,但是在进行系统级精确模拟,需要获得时序等性能信息时,可以选择性的添加存储层次延迟模拟。
【文档编号】G06F9/455GK103677965SQ201410003561
【公开日】2014年3月26日 申请日期:2014年1月3日 优先权日:2014年1月3日
【发明者】任永青, 魏明, 王金龙 申请人:北京神舟航天软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1