文档介绍:第9章计算机体系结构的发展
内容提要:
在计算机系统结构的发展中,除了建立在传统计算机上的向量机、阵列机、并行多处理机之外,还出现了脉动阵列机、数据流机、归约机以及各种人工智能机等。其中仅脉动阵列机推出较早,技术比较成熟之外,其它尚在研究阶段,有些技术还不成熟,本章仅以作简单介绍,其目的是为读者指出一些新的研究方向,以便在今后的工作中能够从事该领域的研究。
第9章计算机体系结构的发展
脉动阵列机
数据流计算机
归约机
人工智能计算机的研究与发展
脉动阵列机
脉动阵列机的组成原理
面向特定算法脉动阵列机的结构形式
通用脉动阵列机的结构
脉动阵列机的组成原理
1. 脉动阵列机概述
阵列机是由主控制器CU将指令广播给各个处理单元,再由其中活跃的处理单元以同步的方式执行这同一功能的指令。而脉动阵列机(Systolic puter)则是阵列内所有处理单元的数据锁存器受同一时钟脉冲的控制。当阵列机运算时,数据在各处理单元间沿各自的方向同步向前推进,就象人体内的血液一样,随着脉搏跳动,一拍一拍地向前涌动。
所示。图(a)表示传统的阵列机的一个处理单元PE的工作过程,数据来自存储器,运算完成后再送入存储器。若设存储器的带宽为10MB/S ,PE运算一次需要两个单字节的操作数,那么系统的运算速度不可能超过每秒5M次。
而图(b)是由6个处理单元构成一条流水线,存储器读出的数据依次流过各处理单元,同时运算。因此,整体系统的速度就可能是单一PE单元的6倍。这样就构成简单的一维线性脉动阵列机。
脉动阵列结构示意图
A·B =
a00·b00 + a01·b10 a00·b01 + a01·b11
a10·b00 + a11·b10 a10·b01+ a11·b11
在脉动阵列机中,各处理单元之间的结构形式与算法紧密相关,可以是矩形、三角形或六边形等不同的形式。输入数据流和结果数据流可以多种速度在多个方向上同时流动,而每个处理单元只接收前一组处理单元送来的数据,并向后一处理单元传送结果。只有边缘上的处理单元才能作为输入输出端口,与存储器传送数据。
脉动阵列机与算法紧密相关,下面仅以简单二维数组的运算过程来说明脉动阵列机的组成原理。设有二维数组A和B,进行乘法运算,其数学表达式如下:
则
A =
a00 a01
a10 a11
B =
b00 b01
b10 b11
如果每一个处理单元PE能在每一步中执行z←z+x入*y入,x出←x入,y出←y入的操作。那么,就可以构成能进行2×2的二维矩形脉动阵列机, 所示。
脉动阵列结构示意图
在进行2×2二维矩阵的乘法运算时,每经过一个时钟脉冲,数据向前推动一步,。
在时钟t0时刻,各处理单元PE的累加器赋初值0;时钟t1,输入a00和b00,进行a00·b00运算,a00和b00向前推进;在时钟t2时刻,输入a10、b10、a01和b01,并进行下一步向量元素的乘法与加法运算,元素继续向前推进;依次类推。经过4个时钟周期,完成2×2二维数组A和B的乘法运算。
二维矩阵在脉动阵列机上的相乘过程
的结构形式
脉动阵列机是针对某些特定算法而设计的,适合于特定的领域。例如,在信号图像处理和模式识别等领域中,用于求解有限冲激响应(FIR)和无限冲激响应(IIR)滤波,进行一维和二维卷积、离散傅立叶变换等。在矩阵运算中,用于矩阵—-矢量乘法、矩阵—-矩阵乘法、三角形线性方程组求解等。在非数值型领域中,用于堆栈、队列及类等数据结构的描述。
根据求解问题的不同,脉动阵列机可以是一维线性阵列、二维矩形阵列、二维六边形阵列、二叉树形阵列以及三角形阵列等形式, 所示。