谁能告诉我 CAS 软件怎么样http://www.ptlsim.org/工作?如果不知道每条指令使用了多少个周期,也不知道 CPU 分支预测逻辑,那么它们如何实现周期精度?或者一切都可以通过保密协议获得吗?
我想它们可能可以非常准确地命中或错过缓存(也许我错了,但我认为预测内部算法更容易),但是如果不知道如何实现流水线和超标量,我很困惑如何进行模拟周期准确的。
因此,理论上是否可以实现hard基于 x86 的硬件上的 rtos?或者应该签署某种保密协议才能估计每条指令所需的时间?
第一个问题:如果不知道每条指令使用了多少个周期,也不知道 CPU 分支预测逻辑,那么它们如何实现周期精度?
该模拟器确实为足够准确的 CPU 模型提供了周期精确的模拟,但没有为 Intel 或 AMD 当前产品提供开箱即用的模型。 Intel 或 AMD 有权访问所需信息的人员可以创建 RTL 级模型并获得当前处理器的周期精确模拟。英特尔和 AMD 以外的人不能。您仍然可以向模拟器提供公开已知的信息并获得合理的结果。这些结果与真实硬件不同。
如果您是软件开发人员并且想要对真实硬件进行基准测试,请使用真实硬件!像 PLTsim 这样的模拟器是为(学术)硬件开发人员设计的,他们希望测试新的硬件功能,而无需在新芯片上花费数十万美元。
第二个问题:理论上是否可以在基于 x86 的硬件上实现硬 RTO?
当然如此理论上可能的。您需要考虑所有情况下所有输入的每个代码段的绝对最坏情况。实际问题是像Core 2这样的处理器非常复杂,而且处理器的状态也非常庞大。此外,这些处理器并未设计为在时序方面具有确定性的行为。一个真正困难的 RTOS 必须非常保守。最后,正如您所观察到的,英特尔和 AMD 以外的人无法获得做出这些保守假设所需的所有信息。在实践中,合理的做法是使用最新、最好的 cpu,而使用具有确定性时序的较旧、更简单的 cpu。
另一方面,如果 RTOS 不必非常严格地实时,您始终可以只包含一些安全裕度并希望得到最好的结果。 ;-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)