我有一个系统,其中包括获取纯随机事件(用户操作)、处理相关数据并使用它。处理部分由几个周期性和异步进程组成,或者由系统中断组成。输入数据必须依次经过所有流程:
┌───────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐
│ Event ├──►│Process1├──►│Process2├─►│Process3├─►│Consume │
└───────┘ └────────┘ └────────┘ └────────┘ └────────┘
由于每个进程都是周期性的并且彼此异步,因此数据可能会在每个进程之前“停滞”,直到它们被触发,从而导致等待时间可变。最坏的情况意味着数据等待每个进程的“最大”等待时间,而最好的情况将假设 0 等待状态。最重要的是,每个处理步骤都需要一定的时间才能完成。 示例
过程1:100us周期和10us处理
过程2:200us周期和30us处理
过程3:150us周期和5us处理
┌───────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌────────┐
│ Event ├─0 to 100us─►│ 10us ├─0 to 200us─►│ 30us ├─0 to 150us─►│ 5us ├─►│Consume │
└───────┘ └──────┘ └──────┘ └──────┘ └────────┘
最坏情况:
100 + 10 + 200 + 30 + 150 + 5 = 495us
最好的情况:0 + 10 + 0 + 30 + 0 + 5 = 45us
然后我将得到 45us 和 495us 之间的正态分布。
问题
Cheddar 看起来有点粗糙,尤其是 GTK UI .. 嗯,不太用户友好。
MAST 开发似乎陷入停滞。
APP4MC 似乎仍在更新,他们还更改了过去几年的 Amalthea 模型,并从几个 Eclipse 内部查看器和模拟器更改为基于 SystemC 的 app4mcsim 库。我不确定,模拟输出的可视化还存在什么(如甘特图之类的图表)