是否有可能将核心i7用于硬实时操作系统?

时间:2014-04-20 20:56:02

标签: real-time intel

有人说处理器“太聪明”,所以你永远不知道执行某些指令序列需要多长时间。我认为你总是有MIN和MAX时间用于任何指令,并且可以使用MAX时间进行时间计算。

2 个答案:

答案 0 :(得分:2)

简短的回答:它不可能是核心i7,它不是为硬实时而设计的

更长的版本:问题不是未知的执行时间,它不是为实时设计的整个处理器中断,例如在硬实时应用程序中你会使用大量的中断,因为轮询会给系统增加不必要的延迟但是x64有一个真正的原始中断处理系统,不仅由于巨大的上下文切换开销,isr的性能最好是缓慢的,但它缺少很多功能,如中断优先级,让你控制中断处理的细节

在核电站/飞机等控制系统中,你还需要考虑硬实时操作系统......在这些环境中,由于没有单一的中央控制器,微控制器要好得多系统,而是以网络(例如canbus)方式协同工作的小型系统网络

最后,即使(并且它是一个巨大的if)你成功为intel i7编写了一个硬实时操作系统,它的性能会如此之低以至于不会被使用

这就像用螺丝刀种植钉子一样可能会完成,但是有人有理由使用锤子......

答案 1 :(得分:0)

我特别不了解Core i7,但有一个“最坏情况执行时间”或WCET的概念。您可以获得可以为您估算的工具。我说“估计”是因为考虑到内存延迟,缓存行为,指令流水线等等,它很难解决。我没有使用这些工具,但我怀疑一个简单的保守近似将不得不假设大量的缓存未命中,分支未命中导致流水线停滞等等,这意味着WCET只是一小部分实际表现。