跳转到主要内容

E.4 嵌入式多处理器

在原书描述的时期,多处理器已在服务器环境中十分常见,Sun、Compaq 和 Apple 等厂商也提供多种桌面多处理器系统。在嵌入式领域,一些专用设计已经采用定制多处理器,包括 Sony PlayStation 2,见 E.5 节。

许多专用嵌入式设计由一个通用可编程处理器或 DSP,加上处理面向流的 I/O 的专用有限状态机组成。从计算机图形和媒体处理到电信,这种专用多处理器已日益常见。在这类设计中,处理器间的交互有严格的规程,而且相对简单,主要由简单的通信通道组成。不过,由于设计的大部分已固化在硅片中,确保输入/输出处理器与通用处理器之间的通信协议正确,仍是一个重大挑战。

稍后,嵌入式领域开始出现由多个通用处理器组成的嵌入式多处理器。这类多处理器主要面向高端电信和网络市场,因为这些市场对可扩展性的要求非常高。一个例子是 empowerTel Networks 为 IP 语音系统设计的 MXP 处理器。

MXP 处理器包含四个主要组成部分:

  • 串行语音流接口,包括处理抖动的支持。
  • 快速数据包路由和信道查找支持。
  • 完整的 Ethernet 接口,包括 MAC 层。
  • 四个 MIPS32 R4000 级处理器,每个都有自己的缓存;总计 48 KB,即每处理器 12 KB。

MIPS 处理器运行负责维护 IP 语音信道的代码,包括保证服务质量、回声消除、简单压缩和数据包编码。由于目标是尽可能多地运行彼此独立的语音流,多处理器是一种理想方案。MIPS 核的尺寸很小,因此整颗芯片只使用 1350 万个晶体管。后续几代芯片预计将能处理更多语音信道,并执行更复杂的回声消除、语音活动检测和压缩。

多处理在嵌入式计算领域日益普及,主要有两个原因。首先,困扰桌面和服务器系统的二进制软件兼容性问题,在嵌入式领域没有那么突出。嵌入式应用的软件往往为特定应用从头编写,或经过大量修改;注意,这也是嵌入式指令级并行更青睐 VLIW 而非超标量的原因。其次,应用通常具有自然的并行性,在高端嵌入式领域尤其如此。机顶盒、网络交换机、手机(见 E.7 节)和游戏系统(见 E.5 节)等应用中,天然并行性的例子比比皆是。随着应用需求不断提高,使用线程级并行的障碍较低,加之对芯片成本、进而对硅片利用效率更为敏感,共同推动了嵌入式领域广泛采用多处理。