实际的应用问题中通常既有向量计算又有标量计算,而且两类计算有一定的比例。只有处理这两类指令的比例平衡,才能最好地发挥机器的性能。
  向量平衡点(vector balance point)是为了使向量硬件设备和标量硬件设备的利用率相等,一个程序中向量代码所占的百分比。
  向量计算机达到向量平衡点时,向量硬件和标量硬件都能充分利用,都不空闲。

  例如:一个系统的向量运算速度为90Mfolps,标量运算速度为10Mfolps。如果程序的90%是向量运算,10%是标量运算。则向量平衡点为0.9。硬件利用率最高。

  向量处理机的向量平衡点必须与用户程序的向量化程度相匹配。

  一个系统执行向量运算和标量运算的时间相等并不一定算是最好。但是应该保持足够高的向量平衡点,以便与用户程序的向量化程度相匹配。
  每台处理机重复设置流水线功能部件可以提高向量运算性能。另一种方法是向量部件采用超流水线技术,其时钟频率是标量流水线操作的两倍或三倍。

  要真正获得所期望的性能则需要较长的向量。日本超级计算机的向量性能一般来说优于Cray公司的机器。其原因之一是采用了高时钟频率,其它原因还有用了更好的编译器及优化支持。
  表9.1对7种超级计算机的向量和标量性能做了比较。大多数超级计算机的向量平衡点在90%或更高。向量/标量的比例越高,对目标代码向量化比例的依赖也越大。

表9.1各种超级计算机向量和标量的性能
机器型号 Cray
IS
Cray
2S
Cray
X-MP
Cray
Y-MP
hitach
i
S820
NEC
SX2
Fujits
u
VP4000
向量性能(Mflops) 85.0 151.5 143.3 201.6 737.3 424.2 207.1
标量性能(Mflops) 9.8 11.2 13.1 17.0 17.8 9.5 6.6
向量平衡点 0.90 0.93 0.92 0.92 0.98 0.98 0.97

  IBM向量机的设计思想与上述方法不同,它维持较低的向量/标量比例,定在3-5的范围之间。这是综合考虑了通用应用问题对标量和向量处理要求的结果。