仿真装置、仿真方法_2

文档序号:8361271阅读:来源:国知局
中逻辑过程的矩形沿着时间 轴重叠的时段对应于其中发生并行操作的时段。
[0034] 逻辑过程A和B彼此同步,例如通过在开始时间向彼此发送消息。从逻辑过程A 到逻辑过程B的发送(在图1中为ml)向逻辑过程B通知为Lab的时间滞后。因此,逻辑 过程B可以在时段Bl期间执行仿真,在时段Bl期间,L'的时间流逝。由于逻辑过程A已 经从逻辑过程B接收到具有L'BA = 0的消息(nl),所以逻辑过程A不能执行仿真,并且进 入待机状态以等待来自逻辑过程B的消息。
[0035] 在与L'AB对应的时间流逝之后,逻辑过程B停止仿真的执行,并且向逻辑过程A发 送消息(n2)。该消息允许逻辑过程A的执行,直到对应于具有为0时间滞后的流逝的L'ab 的时段结束(即,直到时段L'AB+0结束,或者时段Al结束)。然后,逻辑过程B进入待机状 态并且等待来自逻辑过程A的消息。
[0036] 响应于接收到允许执行的消息(n2),逻辑过程A在时段Al中执行仿真,在时段Al 期间,Lab的时间流逝。在对应于Lab的时间流逝之后(S卩,在对应于从仿真开始的2L'ab 的时间流逝之后),逻辑过程A停止仿真的执行并且向逻辑过程B发送消息(m2)。该消息 允许逻辑过程B的执行,直到具有为L'AB的时间滞后的时段BI( =Al)结束(即,直到时 段L'AB+L' 结束或者时段B2结束)。然后,逻辑过程A进入待机状态并且等待来自逻辑过 程B的消息。
[0037]响应于来自逻辑过程A的消息(m2),逻辑过程B退出待机模式,并且在时段B2期 间执行仿真。在时段B2流逝后,逻辑过程B停止仿真的执行并且向逻辑过程A发送消息 (n3)以允许逻辑过程A在为A2的时段期间执行。然后,逻辑过程B进入待机状态并且等待 来自逻辑过程A的消息。
[0038] 逻辑过程A和B重复这一操作并且执行仿真,同时维持在它们之间的同步。然而, 由于没有发生并行执行,所以不可能增加执行的速度。因此,将在整个仿真的开始之前的预 定时段设置为初始时间偏移,并且预定逻辑过程被预先执行。然后,并行执行两个逻辑过 程。
[0039] 图2图示了根据本实施例的逻辑过程以及具有初始偏移时段的逻辑过程的第一 示例性操作。类似于图1,图2图示了其中由逻辑过程A和B执行仿真的配置,并且L' BA为 OG^ab 关 〇,l'ba = 〇)。
[0040] 在本实施例中,逻辑过程A的初始时间偏移由Sa表示,逻辑过程B的初始时间偏 移由Sb表示,并且初始偏移时段SSa-Sb = (L'BA-L'AB)/2表达。逻辑过程的初始时间偏移 是从预定参考时间到当逻辑过程开始仿真处理时的时间流逝的时间量。
[0041] 因此,逻辑过程A和B的初始偏移时段(Sa-Sb)是在逻辑过程A的处理开始时间和 逻辑过程B的处理开始时间之间的差值。例如,在图1中图示的逻辑过程A和B的初始偏 移时段(Sa-Sb)为0,并且两个逻辑过程基本上同时开始处理。
[0042] 在图2中,其中L'BA = 0,初始偏移时段被表达为Sb-Sa =L'AB/2。这意味着逻辑过 程B比逻辑过程A早初始偏移时段(L'm/2)执行仿真。也就是说,逻辑过程B在逻辑过程 A的执行开始时间预先开始处理(时段B0)。在开始时间,逻辑过程A发送消息给在另一侧 上的逻辑过程B以允许逻辑过程B提前处理,直到时段Bl结束。同时,逻辑过程A进入待 机状态以等待来自逻辑过程B的消息。
[0043] 响应于接收到消息,逻辑过程B开始仿真。在对应于初始偏移时段(L'AB/2)的时 段流逝之后,逻辑过程B发送允许逻辑过程A执行直到时段Al结束的消息。由于此时对应 于所允许的时间滞后L'AB的时间还未流逝,所以逻辑过程B继续仿真的执行(前进到时段 BI)。
[0044] 响应于接收到执行允许消息,逻辑过程A在时段Al中执行仿真,在时段Al期间, L' #/2的时间流逝。在对应于从仿真开始起L'AB的时间流逝之后,逻辑过程A结束仿真执 行时段A1,并且向逻辑过程B发送消息以允许执行,直到时段B2结束。逻辑过程B结束仿 真执行时段B1,并且向逻辑过程A发送消息以允许执行,直到时段A2结束。同时,逻辑过程 B响应于该消息开始在时段B2中的仿真的执行。
[0045] 响应于接收到执行允许消息,逻辑过程A在时段A2中执行仿真。在对应于从仿真 开始起I. 5XL' 的时间流逝之后,逻辑过程A结束仿真执行时段A2,并且向逻辑过程B发 送消息以允许执行,直到时段B3结束。逻辑过程B结束仿真执行时段B2,并且向逻辑过程 A发送消息以允许执行,直到时段A3结束。同时,逻辑过程B响应于该消息开始在时段B3 中的仿真的执行。
[0046] 逻辑过程A和B重复这一操作并且并行执行仿真,同时维持它们之间的同步。这 使得能够降低仿真执行的总体时间。
[0047] 即使在L'ffi和L'BA都不为0 尹0,L'BA尹0)时,逻辑过程的并行执行的时段 也可以通过允许预定逻辑过程的先行而被增加,其中时间的预定时段被设置为初始偏移时 段。图3图示了根据实施例的逻辑过程以及具有初始偏移时段的逻辑过程的第二示例性操 作。类似于图1和图2,图3图示了其中由逻辑过程A和B执行仿真的配置。此处,1;#和 L'BA 都不为 0 (L,AB 关 0,L'BA = 0)。
[0048] 同样,逻辑过程A的初始时间偏移由Sa表示,逻辑过程B的初始时间偏移由&表 示,并且初始偏移时段SSa-Sb = (L'BA-L'AB)/2表达。此处,初始偏移时段被设置为满足 Sa-Sb = (L'BA-L' AB) /2>0 (即,L'BA>L'J,并且逻辑过程A比逻辑过程B早预定初始偏移时 段(L'BA-L\B)/2)执行仿真。
[0049] 具体而言,在开始时间,逻辑过程B向逻辑过程A发送消息(nl)以允许执行,直到 对应于时间滞后L'BA的时段(Al)结束。同时,逻辑过程A开始在时段AO中的仿真,在时段 AO期间,(L'm-L、)/2的时间流逝。此处,逻辑过程B进入待机状态并且等待来自逻辑过 程A的消息。
[0050] 在对应于(L'BA-L' AB) /2的时间流逝之后,逻辑过程A向逻辑过程B发送消息(ml) 以允许执行,直到对应于时间滞后L'AB的时段(BI)结束。由于此时对应于所允许的时段Al 的时间还未流逝,所以逻辑过程A继续仿真的执行(前进到时段Al)。
[0051] 响应于接收到执行允许消息(ml),逻辑过程B执行仿真,直到时段Bl结束,在时段 81期间,1^+〇^-1^)/2(=〇^+1;。/2)的时间流逝。在时段81中的仿真的执行之 后,逻辑过程B向逻辑过程A发送消息(n2)以允许执行,直到时段A2结束。
[0052] 在对应于从开始点起1\4的时间流逝之后(S卩,在对应于从时段Al开始起 L'BA-(L'BA-L'AB)/2 = (L'AB+L'BA)/2的时间流逝之后),逻辑过程A结束仿真执行时段Al。 然后,逻辑过程A向逻辑过程B发送消息(m2)以允许执行,直到时段B2结束。时段Al的 开始时间和时段Bl的开始时间基本上与从仿真开始时流逝时段AO之后的时间点相同。对 应于时段Al和Bl中的每个时段的时间基本上等于(L'm+L、)/2。
[0053] 因此,逻辑过程A和B接收允许基本上同时执行直到下一时段(A2和B2)相应结 束的消息,并且基本上同时在下一时段中执行处理。逻辑过程A和B重复这一操作并且并 行执行仿真,同时维持它们之间的同步。通过允许预定逻辑过程的先行,能够增加逻辑过程 的并行执行的时段,并且降低仿真执行的总体时间。
[0054] 尽管在以上描述中由两个逻辑过程执行仿真,仿真也可以由三个或者更多个逻辑 过程类似地执行。此处,一个逻辑过程从多个其他逻辑过程接收执行允许消息。在这种情 况中,该一个逻辑过程在由多个消息所允许的所有时段中的最短时段期间执行处理,假定 允许直至最短时段结束的处理。
[0055] 在如上所述设置每个逻辑过程的初始时间偏移中,在诸如树形配置或者其中每个 过程一次发送一个消息的配置的简单通信链路配置的情况中可以分析地计算初始时间偏 移。也就是说,每个初始时间偏移可以通过求解联立方程,Sa-Sb= (L'm-L'ab)/^、Sb-Sc = (L'cb-L' BC) /2、......、Sk-Sz = (L'ZK-L'
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1