x86 单板计算机

x86 单板计算机

x86 单板计算机

这些年来,单板计算机已与母板紧密耦合。两者执行类似的任务,而且都努力提升速度、改善显卡和扩大内存。随着爱好者 SBC(如 Raspberry Pi 3,执行基本任务的速度可以接受,而财务投资相对较小)的出现,单板计算机领域已出现分裂的情况。如 Pi 和 BeagleBone 的目标是为大众接受且价位合理。其他如 NVIDIAJetson 和 Intel Joule 570x 则仍在竭力扩大 SBC 的功能范围。

体系结构基本知识

如同古老的传说 – RISC 与 CISC。人们选择青睐的一方往往是由于使用台式计算机和手机或与基于这些体系结构的设备执行的其他高级交互的体验,但 SBC 市场让人们能够以更透彻的视角了解差异和优点。

设备的 CPU(中央处理单元),无论是 RISC 还是 CISC,使用称为“指令”的特殊代码来控制周围硬件。这些指令构成汇编码,这是从基本二进制码而来的最后抽象层之一,极其精细,但在某种程度上是人类可读的。

A64 汇编码,就像在 Raspberry Pi 所运行的

图 1. A64 汇编码,就像在 Raspberry Pi 所运行的。

RISC 代表“精简指令集计算”,而 CISC 则代表“复杂指令集计算”。RISC 指令,就像上面显示的那些一样,非常简单,在单个时钟周期内便可执行。这些指令包括诸如 ADD、SUB (减)、MOV(移动)和 BIC(按位清除)的基本指令。RISC 代码看起来更长,因为每个运算必须在多个简单的步骤内完成,但提供了更为细致的一对一形式来表示处理器如何解析代码。CISC 可执行更为复杂的运算,比如在单个时钟周期无法完成且装配 RISC 时需要若干行代码的 IMUL(有符号乘法)和 MOVS(按字符串移动数据)RISC。

单板计算机

整个手册包含针对这两个体系结构的更详细的讨论。对于我们来说,要点在于 CISC 程序更短因此所需 RAM 更少,但 RISC 程序可以达到更快的时钟速度,因为更为复杂的指令会限制 CPU 的最大时钟速度。早期的计算机基本上完全使用 CISC 而构建,但随着 RAM 降价,RISC 已成为更常用的体系结构。ARM 过去使用 RISC 来实现潜在的节能,因此 ARM 核一般都具有高能效,在嵌入式或移动设计中很常用。Intel 是仍在使用 CISC 的最大公司,在无需节省电池寿命或不用太担心散热问题的高端计算机和服务器中充分发挥复杂指令的优势。

对单板计算机的影响

购买单板计算机时,不光要考虑喜好。嵌入式处理器(几乎都是 RISC)因其效率和速度方面的优势统领了整个爱好者 SBC 领域。Dragonboard410c 基于 Qualcomm 的 Snapdragon410c 处理器,这款处理器用在很多手机中。


诸如此类的主板可以获得可能最高的核性能,因此对于开发和试验而言具备最佳体验。这些主板可以像手机一样运行 Android,但使用 1080 HDMI 显示器并接受 USB 键盘/鼠标,就像标准台式计算机一样,因此,开发人员不必在虚拟环境之间跳转。不幸的是,这些主板不一定能消除嵌入式处理器的任何弊端。

Snapdragon 410 等移动处理器使用 1.8V GPIO,这很难与传感器或其他硬件集成。如果尝试像正常的台式计算机那样使用,开发人员还可能会遇到核的固有内存或速度限制。

诸如 Intel Joule 570x 的主板设计为可缩小而不是可扩展。Intel 仍是主板和高性能计算领域的大腕,因此其挑战是将完整的 CISC 核缩小以至可以在 SBC 上使用。诸如 Intel Pentium 的处理器在高负荷下可消耗 20+ 瓦特,相较于单板计算机需要的热力管理要多得多。

因此,新 Joule SBC 上使用的 Atom 处理器是将尽可能多的处理能力融入适合低功耗应用的内核而实现的。Atom 系列使用 x86 体系结构,这在技术上为 CISC 体系结构,该体系结构在某些方面利用了 RISC,和严格意义的 CISC 相比,实际上属于混合体系结构。它可以无可挑剔地处理复杂指令,但使用二次运算来控制这些指令,以此减少长指令对吞吐量的影响。

尝试基于扩展内核与缩减内核的相同项目的结果可谓天壤之别。如需最低的计算能力和小外形,Raspberry Pi 是不错的选择,更为昂贵的主板很可能产生过大的影响。对于诸如服务器区、媒体中心,甚至是游戏平台的项目,很难在基于处理器的嵌入式主板中实现。速度和性能达不到,而且由于操作系统的局限性,您可能被迫使用不熟悉的程序。由于 x86-64 用在很多商业计算机中,基于 CISC 的主板在通用程序的性能和可用性方面更像是一般的台式计算机。由于 x86-64 用在很多商业计算机中,基于 CISC 的主板在通用程序的性能和可用性方面更像是一般的台式计算机。