【问题标题】:Is there any .Net JIT Support from chip vendors?芯片供应商是否提供任何 .Net JIT 支持?
【发布时间】:2015-06-13 17:29:23
【问题描述】:

我知道 ARM 实际上显然对 Java 和 SUN 有一些支持,但我还没有真正提到过任何支持 .Net JIT 编译器的芯片供应商。我知道 IBM 和 Intel 都支持 C 编译器,以及 TI 和许多嵌入式芯片供应商。当您想到它时,所有 JIT 编译器都是编译和优化的最后阶段,您认为这将与芯片供应商的专业知识相匹配。也许为 VM 提供一个标准化的 Plug In 编译引擎是有意义的。

Microsoft 也将 .Net 定位到嵌入式 Windows 平台,因此它们是公平的游戏。

皮特

【问题讨论】:

    标签: .net runtime cpu jit vm-implementation


    【解决方案1】:

    Meridian CPU 直接支持 .NET 微框架。

    【讨论】:

    • 支持是。然而,这是在现有 CPU 中实现的 .net 微框架(专为微控制器设计)的实现。我认为提问者是在为 .Net 或 JIT 优化桌面类型处理器之后。
    • 嗯,它仍然是支持面向 .NET 的 JIT 的特定芯片供应商。我同意供应商特定的 JIT 也可能对桌面处理器有价值,但这似乎仍然适合这个问题,而且这是我所知道的唯一一个。
    • 不,嵌入式平台是有效的。我希望它在 x86 上得到支持,因为它是微软的事实。嵌入式 Windows 平台也是 .Net 的目标。
    • 我的观点是支持一个平台,并专门针对它进行优化是两件不同的事情。该芯片没有特殊硬件支持.Net,只是.Net微框架针对的平台。
    【解决方案2】:

    这里的一个更好的问题是“是否有任何处理器可以直接将 .Net IL 实现为它们的机器指令”。 IL 是一种汇编代码形式,有人想知道为什么我们看不到直接支持该指令集的硬件,如果有,那么我们就不需要任何 JIT 编译。

    【讨论】:

      【解决方案3】:

      您没有具体或清楚地说明感兴趣的平台。 dotnet 非常依赖于本身需要 x86 的 Windows 平台。也就是说,除非英特尔在芯片中添加一些仿真层,否则答案是否定的。没有 Windows 的 .dotnet 毫无价值。

      【讨论】:

        【解决方案4】:

        JIT 编译在启动时发生一次。为什么要优化这个?通过缓存优化垃圾收集器,可能通过专用的 CPU 寄存器和指令来帮助程序执行扫描和分配将提高程序速度。

        这很有趣,因为在您的 .Net 代码被 JIT 编译后,它使用的技术已经针对执行这些事情进行了优化,例如双重取消引用指针指令,我确信 CLR 会被实施以保持常用框架的部分寄存器中的速度等。

        但是,让我们希望 AMD 和英特尔之间发生的整个“竞争”事情能够实现这一点。如果您要购买用于 java 或 .Net 实现的服务器,并且您的带有芯片 X 的服务器将在相同成本下运行速度提高 10%,因为垃圾收集语言已针对它进行了优化,您会购买哪种?

        【讨论】:

        • JIT 将其编译为本机架构。我说的不是优化流程,而是生成的 x86 或 PowerPC (Xbox) 代码。我想微软打算将其用于所有 Windows 嵌入式产品,无论处理器类型如何。
        • 什么意思? .Net 编译器已经优化了 JIT 代码。只是 x86 代码在针对其平台进行了优化的编译器的末尾吐出。您实际上无法在硬件中执行此操作,因为编译操作级别太高。然而,优化 CLR 以便编写目标垃圾收集语言的代码可以很好地通过目标寄存器、缓存和指令进行优化。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-02
        • 1970-01-01
        • 2016-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多