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