一种处理器模拟方法

文档序号:6401237阅读:195来源:国知局
专利名称:一种处理器模拟方法
技术领域
本发明属于嵌入式软件模拟技术领域,涉及一种处理器模拟方法。
背景技术
通常嵌入式系统开发过程中,由于目标系统和宿主机使用的是不同体系结构的处理器,因此无法在宿主机上直接运行和测试目标程序,需要建立一个交叉编译环境,将编译后的目标二进制代码下载到目标系统上运行。这样就使得只有在目标系统设计完成之后,才能进行上层软件的调试和开发,导致软件开发与硬件开发无法并行展开,在航天嵌入式系统中,面临同样的问题。因此,在航天器嵌入式系统中,在型号软件开发早期采用纯软件的全数字仿真软平台替代价格昂贵的目标硬件系统,以辅助软件开发,提高软件开发效率。全数字仿真软平台关键组成部分包括:处理器模拟、I/o接口的建模与仿真、软平台框架设计。由于处理器模拟核心是模拟目标处理器执行指令过程。现有处理器模拟方法的基本原理是:对目标二进制文件的指令序列,逐条进行解释执行,修改处理器的相关寄存器状态,如目标程序指针值(PC)等,完成处理器执行指令时的功能特征模拟。不同体系结构的处理器,其寄存器定义、指令集定义均不相同。现有处理器模拟主要存在的问题是:处理器种类繁多、所属体系结构和指令集特征各不相同,对一个全新处理器的模拟,往往耗时耗力且无法形成统一的模拟平台。

发明内容
本发明所要解决的技术问题是:提供一种处理器模拟方法,能够快速搭建一个全新的处理器模拟器,该方法具有较强适用性,不受处理器体系结构、指令集的影响。主要在星(船)载软件的全数字仿真软平台中使用,提供统一的模拟器开发方法和平台。本发明的技术方案是:一种处理器模拟方法,步骤如下:步骤一:建立体系结构模拟层,所述体系结构模拟层由处理器配置文件模块实现,该处理器配置文件模块由多个函数接口组成,所述多个函数接口包括体系结构信息接口、设置程序指针地址接口、获取程序指针地址接口、从起始地址启动指令模拟接口、获取寄存器值及寄存器名称接口;步骤二:建立指令集模拟层,所述指令集模拟层由处理器指令译码模块和处理器指令执行模块组成;处理器指令译码模块由目标二进制指令译码函数接口实现,将处理器所支持的指令集指令翻译为操作码、操作数形式;处理器指令执行模块由指令模拟执行函数接口实现,根据翻译出的操作码,对操作数进行相应操作;所述处理器所支持的指令集指令为目标二进制指令,以二进制方式进行存储;步骤三:建立处理器模拟层,所述处理器模拟层由处理器存储模块和处理器片内设备模块组成;处理器存储模块由存储接口实现,定义了处理器可访问的内存区域大小和IO空间范围;处理器片内设备模块由输入输出设备读写操作接口实现,定义了处理器对字节、双字节、四字节的读/写操作接口,以完成与输入输出设备的数据交互;步骤四:将处理器配置文件模块、处理器指令译码模块、处理器指令执行模块、处理器存储模块和处理器片内设备模块,在本地计算机上进行编译,形成独立的动态库文件;步骤五:对各个模块的动态库文件进行加载,搭建处理器模拟的运行平台,完成处理器模拟。所述步骤五通过框架程序对各个模块的动态库文件进行加载,所述框架程序连接各个模块,实现对目标二进制文件加载及人机交互等操作功能。本发明与现有技术相比 的有益效果是:(I)本发明提出了一种快速搭建处理器模拟器的方法,仅通过三个模拟层的模拟接口实现,便快速完成处理器的模拟,缩短了处理器模拟研发时间和周期,提升处理器模拟器研发效率;(2)本发明建立了处理器模拟平台统一性,可以使多个航天中常用的不同种类处理器模拟集成于相同模拟平台上,便于处理器模拟的集成、扩展及应用。


图1为本发明的实施过程的流程示意图。
具体实施例方式下面结合附图对本发明的具体实施方式
进行进一步的详细描述。如图1所示,本发明涉及一种处理器模拟方法,能够快速搭建一个全新处理器的模拟器;具体步骤如下:以航天专用处理器TSC695F为例,描述TSC695F处理器模拟的搭建方法,如表I所示,TSC695F处理器属于SPARC体系结构,支持SPARCV7指令集规范。表I航天常用两种处理器特征信息表
权利要求
1.一种处理器模拟方法,其特征在于,步骤如下: 步骤一:建立体系结构模拟层,所述体系结构模拟层由处理器配置文件模块实现,该处理器配置文件模块由多个函数接口组成,所述多个函数接口包括体系结构信息接口、设置程序指针地址接口、获取程序指针地址接口、从起始地址启动指令模拟接口、获取寄存器值及寄存器名称接口; 步骤二:建立指令集模拟层,所述指令集模拟层由处理器指令译码模块和处理器指令执行模块组成;处理器指令译码模块由目标二进制指令译码函数接口实现,将处理器所支持的指令集指令翻译为操作码、操作数形式;处理器指令执行模块由指令模拟执行函数接口实现,根据翻译出的操作码,对操作数进行相应操作;所述处理器所支持的指令集指令为目标二进制指令,以二进制方式进行存储; 步骤三:建立处理器模拟层,所述处理器模拟层由处理器存储模块和处理器片内设备模块组成;处理器存储模块由存储接口实现,定义了处理器可访问的内存区域大小和IO空间范围;处理器片内设备模块由输入输出设备读写操作接口实现,定义了处理器对字节、双字节、四字节的读/写操作接口,以完成与输入输出设备的数据交互; 步骤四:将处理器配置文件模块、处理器指令译码模块、处理器指令执行模块、处理器存储模块和处理器片内设备模块,在本地计算机上进行编译,形成独立的动态库文件; 步骤五:对各个模块的动态库文件进行加载,搭建处理器模拟的运行平台,完成处理器模拟。
2.根据权利要求1所述的一种处理器模拟方法,其特征在于, 所述步骤五通过框架程序对各个模块的动态库文件进行加载,所述框架程序连接各个模块,实现对目标二进制文件加载及人机交互等操作功能。
全文摘要
本发明公开了一种处理器模拟方法,首先建立体系结构模拟层、指令集模拟层、和处理器模拟层;所述体系结构模拟层由处理器配置文件模块实现,所述指令集模拟层由处理器指令译码模块和处理器指令执行模块组成,所述处理器模拟层由处理器存储模块和处理器片内设备模块组成。本发明仅通过三个层次的模拟接口实现,便快速完成处理器的模拟,缩短了处理器模拟研发时间和周期,提升处理器模拟器研发效率,同时建立了处理器模拟平台统一性,可以使多个航天中常用的不同种类处理器模拟集成于相同模拟平台上,便于处理器模拟的集成、扩展及应用。
文档编号G06F9/455GK103218250SQ20131010853
公开日2013年7月24日 申请日期2013年3月29日 优先权日2013年3月29日
发明者关小川, 陈朝晖, 杨孟飞, 党纪红, 杜建伟, 张国峰, 傅秀涛, 郭向英, 陈尧, 刘建军, 李振松 申请人:北京控制工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1