例题
  下面我们用例子来说明Tn、Tstart和Tchime的计算。
  在一台向量处理机上实现A=B×s操作,其中A和B是长度为200的向量,s是一个标量。向量寄存器长度为64。各功能部件的启动时间和例6.5相同。求总的执行时间。
  解:因为向量长度超过了向量寄存器的长度,所以要采取分段开采方法。每次循环主要由下面三条向量指令组成:
  LV V1,Rb ;取向量B
  MULTVS V2,V1,Fs ;向量和标量相乘
  SV Ra,V2 ;存向量
  这里假设A和B的最初分别放在Ra和Rb之中,s在Fs中。其它标量指令这里不一一列出了。
  这三条指令由于存在相关性,它们必须分属于3个编队,因此Tchime=3。根据Tn的计算公式,则
  T200=4×(15+Tstart)+200×3
    = 60+(4×Tstart)+600
    =660+(4×Tstart)
  其中Tstart是向量取(LV)的启动时间(12个时钟周期)、向量乘(MULTVS)的启动时间(7个时钟周期)和向量存(SV)的启动时间(12个时钟周期)的和,所以Tstart=12+7+12=31因此T200=660+4×31=784 一个结果元素的平均执行时间(包括启动开销)为784/200=3.9。
  下面我们举一个向量指令能够链接的例子。
  在某台向量处理机上执行DAXPY(double-precision a× X plus Y)代码,即完成Y=a×X+Y,其X和Y是向量,最初存放在内存。a是一个标量。它们的向量指令如下:
  LV V1,Rx ; 取向量X
  MULTSV V2, F0, V1 ; 标量和向量相乘
  LV V3,Ry ; 取向量Y
  ADDV V4, V2, V3 ; 相加
  SV Ry V4 ; 存结果
  我们可把上述五条向量指令分成三个编队,并且前两个编队中每两条指令组成一条链。
  LV V1,Rx MULTSV V2, F0, V1 编队1:取数和乘法指令链接
  LV V3,Ry ADDV V4, V2, V3 编队2:取数和加法指令链接
  SV Ry,V4 编队3:把结果存入
  可知Tchime=3, Tloop=15 Tstart=12+7+12+6+12=49,MVL=64。代入Tn的计算公式,得: