|
|
习题 8.2评述SIMD计算机和向量处理机处理向量的优缺点。 8.3在Illiac IV上实现两个8×8矩阵乘C=A*B。要求J,K循环并行完成,数据在存储器中不准重复存放,考虑到各次数据传送时间,请设计能使64个处理单元全并行工作的算法。 8.4试设计一在Illiac IV计算机(含64个PE)上完成对8×8三角矩阵A=(aij)求逆的SIMD算法,说明实现此算法所需的存储器分配和CU指令。主要的设计要求是使所用的指令步数和数据存储字最少。假设给定矩阵A是非奇异矩阵。可对PE采用屏蔽,使其处活动或不活动状态。还要求每执行一步指令列出有关PE寄存器和PEM的内容。 8.5给定一幅n×m图象,其每个图素(象元素)的灰度级在o到b-1范围内。令A[i,j]为图素(i,j)上的灰度级。则在SISD计算机上构造一个直方图的算法如下:
现在我们要用含p个PE的SIMD机来构造这个直方图,假定n、m>>p,n、m和p(p=2y)都是2的幂,n/p=k是一整数。每个PEM存放k行图象数据,即PEM0存放行1和行k,等等。存储格式如下图所示,图中每个PEM内从a至a+b-1存储单元存放的是局部直方图。构造直方图的方法是先在每个PE中形成局部直方图,再将这些局部直方图连起来构成全局直方图。 表8.5 习题8.5所需的向量-标量指令系统实例 |