CN104573288A - 一种三模冗余计算机数字仿真*** - Google Patents
一种三模冗余计算机数字仿真*** Download PDFInfo
- Publication number
- CN104573288A CN104573288A CN201510062150.XA CN201510062150A CN104573288A CN 104573288 A CN104573288 A CN 104573288A CN 201510062150 A CN201510062150 A CN 201510062150A CN 104573288 A CN104573288 A CN 104573288A
- Authority
- CN
- China
- Prior art keywords
- emulation
- simulation
- module
- computer
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明属于计算机仿真技术领域,具体涉及一种三模冗余计算机数字仿真***。一种三模冗余计算机数字仿真***,包括以下模块:处理器仿真模块,实现指令集、寄存器、存储空间和流水线的时钟精确仿真;设备仿真模块,完成处理器私有的设备功能仿真或处理期间共享的设备功能仿真;计算机间通信和同步仿真模块,完成三模冗余计算机处理器之间的通信和同步控制功能。发明公开了一种三模冗余计算机数字仿真***,其具有以下有益效果:(1)以三模冗余计算机构建为例,可扩展为更多计算机冗余架构;(2)实现冗余计算机间不同粒度的同步,保证性能和精度的权衡;(3)支持不同处理器和设备的替换,实现跨平台支持。
Description
技术领域
本发明属于计算机仿真技术领域,具体涉及一种三模冗余计算机数字仿真***。
背景技术
针对计算机***的仿真技术已经有较多的研究和成果,但是对于安全关键领域广泛使用的三模冗余计算机,由于其专业性和复杂性,当前研究仍然集中在计算机***的实现,数字仿真技术国际上也很少有研究。
三模冗余计算机在航空航天等安全关键领域具有广泛应用,能够显著提升***的可靠性和安全性。如图1所示,一个典型三模冗余计算机硬件平台的抽象示意图,具有以下特点:(1)、三个同构计算机;(2)、任意两个计算机之间能够通过FIFO进行通信;(3)、三个计算机挂载于共享总线上。针对抽象模型特征,在进行数字仿真时,需要进行以下考虑:(1)、处理器配置:处理器数量、类型、频率;(2)、设备配置:每个设备所连接处理器(一个或多个)、在处理器地址空间中的位置、对应处理器触发中断号、对应处理器访问延迟等。
由于三模冗余计算机的专业性和复杂性,通常具有成本高、数量少的特点,而基于该计算机***的嵌入式软件开发面临诸多困难,例如软件调试缺陷复现困难、三机故障定位复杂、故障处理功能验证难以开展等。
发明内容
发明目的:本发明针对上述现有技术存在的问题做出改进,即本发明公开了一种三模冗余计算机数字仿真***。
技术方案:一种三模冗余计算机数字仿真***,包括以下模块:
处理器仿真模块,实现指令集、寄存器、存储空间和流水线的时钟精确仿真;
设备仿真模块,完成处理器私有的设备功能仿真或处理期间共享的设备功能仿真;
计算机间通信和同步仿真模块,完成三模冗余计算机处理器之间的通信和同步控制功能。
作为本发明中一种三模冗余计算机数字仿真***的一种优选方案,处理器仿真模块包含:
指令集仿真模块,实现指令集的逻辑功能仿真;
寄存器仿真模块,实现寄存器的时钟精确仿真;
存储空间仿真模块,实现存储层次的时钟精确仿真;
流水线仿真模块,实现流水线的时钟精确仿真。
作为本发明中一种三模冗余计算机数字仿真***的一种优选方案,设备仿真模块包含:
处理器私有的设备功能仿真,完成处理器私有的设备的初始化、读取、中断和卸载的仿真;
处理器共享的设备功能仿真,完成处理器共享的设备的初始化、读取、中断和卸载的仿真。
作为本发明中一种三模冗余计算机数字仿真***的一种优选方案,计算机间通信和同步仿真模块包含:
计时模块,记录计算机的运行时钟周期数;在获得令牌处理模块的启动指令后,运行约定的同步周期,然后停止运行,等待新的令牌到来;
令牌处理模块,获取令牌后启动当前计算机,执行约定的同步周期,运行完毕后向下一个计算机传递令牌。
有益效果:本发明公开了一种三模冗余计算机数字仿真***,其具有以下有益效果:
(1)以三模冗余计算机构建为例,可扩展为更多计算机冗余架构;
(2)实现冗余计算机间不同粒度的同步,保证性能和精度的权衡;
(3)支持不同处理器和设备的替换,实现跨平台支持。
附图说明
图1为三模冗余计算机硬件平台的构成示意图;
图2为三模冗余计算机数字仿真***的仿真框架;
图3为三处理器令牌同步机制的示意图。
具体实施方式:
下面对本发明的具体实施方式详细说明。
一种三模冗余计算机数字仿真***,包括以下模块:
处理器仿真模块,实现指令集、寄存器、存储空间和流水线的时钟精确仿真;
设备仿真模块,完成处理器私有的设备功能仿真或处理期间共享的设备功能仿真;
计算机间通信和同步仿真模块,完成三模冗余计算机处理器之间的通信和同步控制功能。
作为本发明中一种三模冗余计算机数字仿真***的一种优选方案,处理器仿真模块包含:
指令集仿真模块,实现指令集的逻辑功能仿真;
寄存器仿真模块,实现寄存器的时钟精确仿真;
存储空间仿真模块,实现存储层次的时钟精确仿真;
流水线仿真模块,实现流水线的时钟精确仿真。
作为本发明中一种三模冗余计算机数字仿真***的一种优选方案,设备仿真模块包含:
处理器私有的设备功能仿真,完成处理器私有的设备的初始化、读取、中断和卸载的仿真;
处理器共享的设备功能仿真,完成处理器共享的设备的初始化、读取、中断和卸载的仿真。
作为本发明中一种三模冗余计算机数字仿真***的一种优选方案,计算机间通信和同步仿真模块包含:
计时模块,记录计算机的运行时钟周期数;在获得令牌处理模块的启动指令后,运行约定的同步周期,然后停止运行,等待新的令牌到来;
令牌处理模块,获取令牌后启动当前计算机,执行约定的同步周期,运行完毕后向下一个计算机传递令牌。
如图2所示,三模冗余计算机数字仿真***组成可以抽象为两类,即处理器和***设备,其中前者为运算器和控制器,后者包括地址空间的所有设备(假设只有内存映射模式)。根据该定义,嵌入式***抽象为处理器和设备两类,通过两者的关系组合形成复杂***。
仿真框架主体分为两部分,一是处理器表,包括处理器配置信息、外部访问的接口以及处理器地址空间的映射信息;二是设备表,包括设备配置信息、外部访问设备的函数接口以及所属的处理器号。处理器地址空间的映射包括地址段和设备编号,如处理器1地址空间0x80000000起始的1MB为设备1。处理器和设备之间的相互访问都通过各自信息表提供的函数接口,如处理器可以读写设备,设备可以向处理器触发中断等。
为实现软件模拟的高速运行,多个数字仿真计算机通常采用独立线程,时钟计算相互独立,在多核多线程宿主机上运行时,计算机之间可能产生较大仿真时间偏差,如一个计算机完成1000个时钟周期仿真,而另一个可能只完成500个时钟周期。嵌入式***通常对多机之间的时序要求非常高,为保证机间的协同执行,避免时钟周期偏差,多个计算机之间应每隔一段时间进行同步,但是同步周期的大小非常关键,过小会降低仿真性能,而过大则可能造成时序语义错误,因此需要根据实际仿真环境进行调优。
针对仿真多机的时钟同步问题,提出基于令牌环的传递机制,如图3所示,通过用户可配置的同步周期设置,计算机在规定仿真时间节点进行同步,只有获得令牌的计算机才能够继续执行,否则必须等待其他处理器令牌的到达。根据令牌的粒度,可以精确控制多个计算机之间的同步节拍,如每个时钟周期都同步,抑或是每1000个时钟周期同步等。
上面对本发明的实施方式做了详细说明。但是本发明并不限于上述实施方式,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (4)
1.一种三模冗余计算机数字仿真***,其特征在于,包括以下模块:
处理器仿真模块,实现指令集、寄存器、存储空间和流水线的时钟精确仿真;
设备仿真模块,完成处理器私有的设备功能仿真或处理期间共享的设备功能仿真;
计算机间通信和同步仿真模块,完成三模冗余计算机处理器之间的通信和同步控制功能。
2.如权利要求1所述的一种三模冗余计算机数字仿真***,其特征在于,处理器仿真模块包含:
指令集仿真模块,实现指令集的逻辑功能仿真;
寄存器仿真模块,实现寄存器的时钟精确仿真;
存储空间仿真模块,实现存储层次的时钟精确仿真;
流水线仿真模块,实现流水线的时钟精确仿真。
3.如权利要求1所述的一种三模冗余计算机数字仿真***,其特征在于,设备仿真模块包含:
处理器私有的设备功能仿真,完成处理器私有的设备的初始化、读取、中断和卸载的仿真;
处理器共享的设备功能仿真,完成处理器共享的设备的初始化、读取、中断和卸载的仿真。
4.如权利要求1所述的一种三模冗余计算机数字仿真***,其特征在于,计算机间通信和同步仿真模块包含:
计时模块,记录计算机的运行时钟周期数;在获得令牌处理模块的启动指令后,运行约定的同步周期,然后停止运行,等待新的令牌到来;
令牌处理模块,获取令牌后启动当前计算机,执行约定的同步周期,运行完毕后向下一个计算机传递令牌。2 -->
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510062150.XA CN104573288A (zh) | 2015-02-05 | 2015-02-05 | 一种三模冗余计算机数字仿真*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510062150.XA CN104573288A (zh) | 2015-02-05 | 2015-02-05 | 一种三模冗余计算机数字仿真*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104573288A true CN104573288A (zh) | 2015-04-29 |
Family
ID=53089341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510062150.XA Pending CN104573288A (zh) | 2015-02-05 | 2015-02-05 | 一种三模冗余计算机数字仿真*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104573288A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107797462A (zh) * | 2016-09-01 | 2018-03-13 | 欧姆龙株式会社 | 仿真器联动装置、控制方法、信息处理程序以及记录介质 |
CN109885466A (zh) * | 2019-01-25 | 2019-06-14 | 上海创景信息科技有限公司 | 处理器c8000的仿真方法、***及介质 |
CN111290294A (zh) * | 2020-02-24 | 2020-06-16 | 上海航天控制技术研究所 | 一种适用于双星编队控制的全数字快速仿真方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002970A (en) * | 1997-10-15 | 1999-12-14 | International Business Machines Corp. | Method and apparatus for interface dual modular redundancy |
CN1497442A (zh) * | 2002-10-21 | 2004-05-19 | ����-��˹â��ϵͳ�ɷ�����˾ | 用于多结点处理控制***的仿真*** |
US20080020712A1 (en) * | 2006-03-24 | 2008-01-24 | Ics Triplex Technology Ltd. | Fault detection method and apparatus |
CN102053883A (zh) * | 2010-12-17 | 2011-05-11 | 北京控制工程研究所 | 一种三模冗余容错计算机控制周期同步装置 |
CN102135928A (zh) * | 2011-03-30 | 2011-07-27 | 武汉大学 | 基于lut级演化硬件的三模异构冗余容错方法 |
-
2015
- 2015-02-05 CN CN201510062150.XA patent/CN104573288A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002970A (en) * | 1997-10-15 | 1999-12-14 | International Business Machines Corp. | Method and apparatus for interface dual modular redundancy |
CN1497442A (zh) * | 2002-10-21 | 2004-05-19 | ����-��˹â��ϵͳ�ɷ�����˾ | 用于多结点处理控制***的仿真*** |
US20080020712A1 (en) * | 2006-03-24 | 2008-01-24 | Ics Triplex Technology Ltd. | Fault detection method and apparatus |
CN102053883A (zh) * | 2010-12-17 | 2011-05-11 | 北京控制工程研究所 | 一种三模冗余容错计算机控制周期同步装置 |
CN102135928A (zh) * | 2011-03-30 | 2011-07-27 | 武汉大学 | 基于lut级演化硬件的三模异构冗余容错方法 |
Non-Patent Citations (2)
Title |
---|
王培东等: "一种多机容错***的设计与实现", 《哈尔滨理工大学学报》 * |
航天分布式实时容错平台研究: "盖玲兴", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107797462A (zh) * | 2016-09-01 | 2018-03-13 | 欧姆龙株式会社 | 仿真器联动装置、控制方法、信息处理程序以及记录介质 |
CN109885466A (zh) * | 2019-01-25 | 2019-06-14 | 上海创景信息科技有限公司 | 处理器c8000的仿真方法、***及介质 |
CN109885466B (zh) * | 2019-01-25 | 2022-07-05 | 上海创景信息科技有限公司 | 处理器c8000的仿真方法、***及介质 |
CN111290294A (zh) * | 2020-02-24 | 2020-06-16 | 上海航天控制技术研究所 | 一种适用于双星编队控制的全数字快速仿真方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9971635B2 (en) | Method and apparatus for a hierarchical synchronization barrier in a multi-node system | |
US9229730B2 (en) | Multi-chip initialization using a parallel firmware boot process | |
US20160179738A1 (en) | Method, apparatus and system for integrating devices in a root complex | |
US10923463B2 (en) | Method and machine-readable medium for configuring processors with base dies having landing slots | |
KR101830685B1 (ko) | 온칩 메시 상호접속부 | |
CN104142849A (zh) | 多主机单根输入/输出虚拟化虚拟功能共享的方法及*** | |
US20120054408A1 (en) | Circular buffer in a redundant virtualization environment | |
CN107112042A (zh) | 数据信号的边沿感知同步 | |
TWI564684B (zh) | 一般主機控制器延遲方法及設備 | |
CN103678022B (zh) | 容错***和用于执行容错的方法 | |
US20040117743A1 (en) | Heterogeneous multi-processor reference design | |
CN105492989A (zh) | 用于时钟门控控制的早唤醒-警告 | |
BR112015029860B1 (pt) | Dispositivo de processamento, método e mídia legível por máquina | |
CN104573288A (zh) | 一种三模冗余计算机数字仿真*** | |
CN103440373A (zh) | 一种多dsp***的互联配置模拟方法 | |
CN103294638A (zh) | 确定性高整体性多处理器片上*** | |
US20150127865A1 (en) | Method and apparatus use with interrupts | |
US20220374260A1 (en) | Systems, methods, and apparatus for coordinating computation systems | |
EP3173895B1 (en) | Clock tree implementation method, system-on-chip and computer storage medium | |
US20160170466A1 (en) | Power saving multi-width processor core | |
Díaz et al. | Virtual Platform of FPGA based SoC for Power Electronics Applications | |
US10248485B2 (en) | Dual physical-channel systems firmware initialization and recovery | |
US20140197870A1 (en) | Reset extender for divided clock domains | |
US11574087B2 (en) | Multi-processor simulation on a multi-core machine | |
US9229888B1 (en) | Area-efficient dynamically-configurable memory controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150429 |