跳转到主要内容

G.1 引言

第 4 章介绍了向量体系结构,并在向量体系结构的背景下,说明了多媒体 SIMD 扩展与 GPU 的定位。

本附录更深入地讨论向量体系结构,包括更精确的性能模型,以及以往向量体系结构的具体设计。图 G.1 列出若干典型向量处理器的特征,包括寄存器的大小和数量、功能单元的数量和类型、加载—存储单元数,以及通道数。

处理器(年份)向量时钟频率(MHz)向量寄存器数每寄存器元素数(64 位元素)向量运算单元向量加载—存储单元通道数
Cray-1(1976)808646 个:浮点加法、浮点乘法、浮点倒数、整数加法、逻辑、移位11
Cray X-MP(1983)
Cray Y-MP(1988)
118
166
8648 个:浮点加法、浮点乘法、浮点倒数、整数加法、2 个逻辑单元、移位、置位计数/奇偶校验2 个加载
1 个存储
1
Cray-2(1985)2448645 个:浮点加法、浮点乘法、浮点倒数/平方根、整数加法/移位/置位计数、逻辑11
Fujitsu VP100/VP200(1982)1338–25632–10243 个:浮点或整数加法/逻辑、乘法、除法21(VP100)
2(VP200)
Hitachi S810/S820(1983)71322564 个:浮点乘加、浮点乘法或除法后加减、2 个整数加法/逻辑单元3 个加载
1 个存储
1(S810)
2(S820)
Convex C-1(1985)1081282 个:浮点或整数乘法/除法、加法/逻辑11(64 位)
2(32 位)
NEC SX/2(1985)1678+322564 个:浮点乘法/除法、浮点加法、整数加法/逻辑、移位14
Cray C90(1991)
Cray T90(1995)
240
460
81288 个:浮点加法、浮点乘法、浮点倒数、整数加法、2 个逻辑单元、移位、置位计数/奇偶校验2 个加载
1 个存储
2
NEC SX/5(1998)3128+645124 个:浮点或整数加法/移位、乘法、除法、逻辑116
Fujitsu VPP5000(1999)3008–256128–40963 个:浮点或整数乘法、加法/逻辑、除法1 个加载
1 个存储
16
Cray SV1(1998)
SV1ex(2001)
300
500
864(MSP)8 个:浮点加法、浮点乘法、浮点倒数、整数加法、2 个逻辑单元、移位、置位计数/奇偶校验1 个加载—存储
1 个加载
2
8(MSP)
VMIPS(2001)5008645 个:浮点乘法、浮点除法、浮点加法、整数加法/移位、逻辑1 个加载—存储1
NEC SX/6(2001)5008+642564 个:浮点或整数加法/移位、乘法、除法、逻辑18
NEC SX/8(2004)20008+642564 个:浮点或整数加法/移位、乘法、除法、逻辑14
Cray X1(2002)
Cray X1E(2005)
800
1130
3264
256(MSP)
3 个:浮点或整数的加法/逻辑、乘法/移位、除法/平方根/逻辑1 个加载
1 个存储
2
8(MSP)
图 G.1 若干向量寄存器体系结构的特征。

如果某台机器是多处理器系统,表中条目表示其中一个处理器的特征。若干机器的向量单元与标量单元时钟频率不同,表中给出向量单元的频率。Fujitsu 机器的向量寄存器可配置:8K 个 64 位条目可在寄存器数量与每寄存器大小之间进行反向调整。例如,VP200 可以配置为 8 个各含 1K 元素的寄存器,也可以配置为 256 个各含 32 元素的寄存器。NEC 机器有 8 个连接运算单元的前台向量寄存器,另外有 32–64 个后台向量寄存器,连接存储系统与前台向量寄存器。

表中的置位计数(population count)指统计二进制表示中值为 1 的位数。加法流水线执行加法和减法。Hitachi S810/S820 的乘法/除法—加法单元,先执行浮点乘法或除法,再执行加法或减法;乘加单元则先乘、后加或减。注意,大多数处理器使用向量浮点乘除单元执行向量整数乘除;其中一些处理器还让浮点标量运算和浮点向量运算共用功能单元。每个向量加载—存储单元,都表示能够与向量寄存器进行一次独立、可与其他传送重叠的输入或输出。

通道数就是每个功能单元内的并行流水线数,见 G.4 节。例如,NEC SX/5 的乘法功能单元每周期可完成 16 次乘法。若干机器可以把一条 64 位通道拆为两条 32 位通道,以提高只需较低精度的应用的性能。Cray SV1 和 Cray X1 可以将 4 个各有 2 条通道的 CPU 编组,共同作为一个有 8 条通道的大 CPU 工作;Cray 将其称为 Multi-Streaming Processor(MSP)。

表格阅读