【发布时间】:2010-11-06 20:48:02
【问题描述】:
Linus Torvalds 曾在一家名为 Transmeta 的处理器公司工作。他们制造的处理器是核心中基于 RISC 的对象。如果我没记错的话,这个想法是核心运行一个任意且可升级的“处理器仿真层”(可能是 x86、powerpc 等),它将高级操作码转换为 RISC 核心指令集。
这个想法发生了什么,您认为这种方法可能具有优势(在编程方面)的优点、缺点和情况是什么?
【问题讨论】:
-
+1 非常有趣的问题。我正在等待有人将 x86 Flash 播放器转换为 ARM。 :-)
-
代码变形确实看到了 NVIDIA Denver 内核的复兴,该内核首先用于 HTC Google Nexus 9 平板电脑(其 Tegra K1 SoC 有两个 Denver核心)。在内部,它是 7 宽的有序 VLIW。 NVIDIA 将代码变形技术称为“动态代码优化”。它基本上在运行时为底层内核转换和优化 ARMv8-A 代码,并将结果缓存在专用的内存块中。在理想条件下(例如重复的、可预测的代码),它的性能几乎与桌面 Haswell 一样;在不太理想的条件下,它可能不会比 Cortex-A53 快多少。
-
我拥有一台 Nexus 9 并且非常广泛地使用它;在大多数轻量级的单线程任务中,它的性能相当不错,但是当被要求同时做很多事情时,它的性能很差。只有两个内核并且不喜欢不可预测的代码(优化版本尚未缓存,需要先编译或不完全适合 128 MB 缓存)会明显损害复杂的工作负载性能。处理器内部有一个 ARM 解码器,作为尚未翻译和优化但非常非常慢的代码的后备。高时钟速度(2.3 GHz)在一定程度上弥补了这一点。
标签: processor