下一页 上一页 目录

8. 字节以及所有相关内容

当 Alpha 架构被引入时,它在 RISC 架构中是独一无二的,因为它避开了 8 位和 16 位的加载和存储。它支持 32 位和 64 位的加载和存储(在 Digital 的命名法中分别为长字 (longword) 和四字 (quadword))。共同架构师(Dick Sites、Rich Witek)通过列举以下优点来证明这个决定的合理性:

  1. 在缓存和内存子系统中支持字节会减慢 32 位和 64 位数据的访问速度。
  2. 支持字节使得在缓存/内存子系统中构建高速纠错电路变得困难。

Alpha 通过提供强大的指令来弥补这一点,这些指令用于操作 64 位寄存器内的字节和字节组。字符串操作的标准基准测试(例如,一些 Byte 基准测试)表明,Alpha 在字节操作方面表现非常出色。

缺少字节加载和存储会影响某些软件信号量,并影响 I/O 子系统的设计。 Digital 解决 I/O 问题的方案是使用一些低位地址线来指定 I/O 传输期间的数据大小,并将这些地址线解码为字节使能。这种所谓的稀疏寻址浪费了地址空间,并导致 I/O 空间不连续(当我开始撰写有关稀疏寻址的复杂性时,会详细介绍)。请注意,在此上下文中,I/O 空间是指 PCI 上存在的所有系统资源,因此包括 PCI 内存空间和 PCI I/O 空间。

随着 21164A 的推出,Alpha 架构进行了 ECO 更改,以包含字节寻址。在较早的 CPU 上执行这些新指令将导致 OPCDEC PAL 代码异常,以便 PAL 代码将处理访问。这将对性能产生影响。其结果是,(在我看来)这些新指令的使用应限制在设备驱动程序中,而不是应用程序代码中。

这些新的字节加载和存储意味着未来的支持芯片组将能够支持连续的 I/O 空间。


下一页 上一页 目录