我有一组 MSIL / CLR 应用程序(用 C# 编写)。我正在寻找一种将它们刻录到纯硬件平台上的方法。我看到 Altera 有一个名为 NIOS II 的嵌入式处理器,它似乎支持 eCLR(嵌入式公共语言运行时),但它只是一个处理器,而不是我认为的终端市场产品。
任何人都可以推荐一种终端市场产品,该产品可以整合到可以运行 MSIL / CLR 应用程序的商品硬件(具有 PCI 和 PCI-E 接口的标准 1-4u 机架安装系统)中。如果没有什么同样有用的知识。
我发现只有一种解决方案符合我的问题标准。KW-Software 提供了一个名为 ProConOS 的解决方案,它在 Altera NIOS II 上运行。使用此解决方案,您可以编写可在硬件上执行的 MSIL 代码(C#、C++、VB)。我喜欢该解决方案的一个方面是它提前编译(有效地为目标架构进行静态编译)而不是 JIT。
Mono 工具集包括 静态编译器,它将您的字节码编译成机器语言。它被用于将 C# 代码移植到 iPhone 和 Xbox,正是因为这些平台不支持 JIT(主要是出于安全原因)。
也许这可以打开你的选择。
我个人不知道市场上的硬件实现,我看过几篇关于这种系统可行性的学术论文。我怀疑它是否真的会像几乎从未使用过 ARM 芯片上的 Jazelle Java 加速一样“工作”。它需要硬件架构以及与 CLR 兼容的软件堆栈,这意味着要与微软合作。Jazelle 也有类似的问题,没有一个好的 VM 支持它,至少在 Java 是开源的情况下是有希望的。我很想知道 Altera 是否真的有一个完整的堆栈,或者他们是否只是像 Jazelle 的人一样宣传加速。我建议您深入研究它。
你考虑过单声道吗?您应该能够在嵌入式计算机(单板计算机或 mini-itx 嵌入式计算机)上使用轻量级 linux install + mono,并获得类似于我认为您正在寻找的东西。
是的,一个运行 Windows 的机架式 PC 服务器!您的成本和性能预算是多少?
事实上,我几乎可以肯定,今天没有任何处理器可以做到这一点。
但也许您只是在寻找带有 .NET Framework 的硬件平台。在这种情况下,您应该看看以下选项: