3.1.3 Quark SoC X1000 Galileo上使用的这款 Quark SoC X1000 的处理器芯片相信是大家最关心的。那么它到底是不是属于 Intel Atom 系列的处理器呢?答案是否定的。 图:Quark SoC X1000 特写 在产品定位上,Intel 将 Quark 定位于面向物联网、可穿戴设备的 x86 处理器,他的内部代号为 Clanton。相比 Atom 系列处理器,Quark 差不多是 Atom 1/5 的尺寸,功耗也只有 Atom 的1/10 (详见[6])。这估计也是叫做 Quark(夸克)的原因。当然,作为减小尺寸、功耗、降低成本($5)的代价,Quark 的性能也弱很多。它比较像是改良了制程,但阉割了 MMX 指令集的奔腾 I 代处理器(参考文献[7]中猜测 Quark 是改良自 P54C 构架,P54C 构架是主频在 75, 90, 100 MHz 奔腾 I 代处理器采用的构架,当年采用 0.5um 制程工艺)。 表:Quark SoC X1000 部分配置,按照 Quark Datasheet[8] 整理得到 从支持的指令集看,Quark 并不像其他 Atom 芯片那样支持 x64、MMX、SSE 等高级的指令集,但包含了浮点指令集(x87)。虽然 Intel 的官方参数中提到 Quark 的指令集是与奔腾兼容的,但很明显,由于缺少了 MMX 指令这个作为奔腾处理器的重要标志,实际上很多可以在奔腾 I CPU上运行的程序在 Quark 上可能是不能运行的。这点算是一个遗憾,缺少 MMX、SSE 这类 SIMD 的指令集加速,使得 Quark 在处理多媒体、图像运算、计算机视觉等算法上可能会表现的较差。 不过,除了 MMX 指令集外,其他奔腾指令集/构架在 Quark 中均有支持。因此现在的程序只要不带有 MMX、SSE 指令,理论上是可以在 Quark 上运行的很好的。这点我会在后续的软件开发部分提到注意事项。这也可以看到另一个细节,就是目前 PC 上的主流操作系统,Windows 和 Linux 都有望在 Quark 中运行(目前 Intel Galileo 上运行的就是 Linux)。 作为一款面向小型化设备的处理器,Quark 在 SoC 集成上做的还是不错的,几乎是一个单片机该有的形态。即使不外接 DDR 内存,Quark 也可以利用芯片内集成的 512kbyte 的 SRAM 工作。 图:Quark SoC X1000 的内部框图,图片来自[8] 在功耗方面,Quark 将 max TDP 控制在 2.2W。对于采用 3.3V 供电而言,也就是最大需要提供 660mA 的电流。这样的功耗相比其他 x86 CPU 而言已经小了很多,但是我们对比同样主频等级的其他构架的处理器,如 ARM、MIPS 构架的一些处理器,就会发现 Quark 的功耗还是相对偏高的。如果要将 Quark 作为低功耗应用,Intel 为此还需要做更多的功课。 |