2020年2月16日星期日1•第1章计算机系统设计基础•第2章数据表示与指令系统性能分析•第3章流水技术和向量处理•第4章阵列计算机•第5章多处理机系统•第6章数据流计算机2020年2月16日星期日2本章学习要求•了解几种非传统计算机结构的概念和工作原理•掌握数据流计算机的工作原理和结构特点•了解多核处理器计算机2020年2月16日星期日3第6章新型计算机结构脉动阵列计算机数据流计算机多核处理器计算机2020年2月16日星期日46.1脉动阵列计算机•脉动阵列结构是由一组相同的处理单元PE构成的阵列机。每个PE可完成少数基本的算术逻辑运算操作•工作原理:阵列内所有处理单元的数据锁存器都受同一个时钟控制,运算时数据在阵列结构的各个处理单元间沿各自的方向同步向前推进,就像血液受心脏有节奏地搏动在各条血管中同步向前流动一样2020年2月16日星期日5•脉动阵列机主要适用要求计算量很大的信号/图像的处理,以及某些特定计算类算法题目的求解,特别是需要对大量数据执行重复计算的运算受限类问题的求解。根据具体计算的问题不同,脉动阵列可以有一维线形、二维矩形/六边形/二叉树形三角形等阵列互连构形。2020年2月16日星期日6Mabca’b’dMMMMMMMMMMMMMMMMMMMd=a×b+ca’=a,b’=b脉动式二维阵列流水机2020年2月16日星期日7333231232221131211aaaaaaaaaA333231232221131211bbbbbbbbbB333231232221131211cccccccccBAC31kkjikijbaC1≤i≤3,1≤j≤3现有矩阵A、B如下,要在二维脉动阵列机上求两矩阵的乘积C其中在图中给出了在t1、t2、t3时刻送入数据,到t6时,从45Ο方向上将同时输出的值,t7时输出的值,t8时输出的值。可以看出,总共只需用8拍就可以完成两个3☓3矩阵相乘,比单处理机上循环执行所需的27拍,速度提高了两倍多。3121111213,,,,ccccc322223,,ccc33c2020年2月16日星期日8a11a12a1300t10a21a22a230t200a31a32a33t3t8t6c12c13t6c11c21c31t8c33t7c23t7c22c3200000MMMMMMMMMMMMMMMMMMMt100b31b21b11t20b32b22b120t3b33b23b1300Mabca’b’d2020年2月16日星期日9脉动阵列计算机具有如下特点:(1)结构简单、规整,模块化强,可扩充性好。非常适合于超大规模集成电路的实现。(2)PE间数据通信距离短、规则,使数据流和控制流的设计、同步控制简单规整。(3)具有极高的计算并行性,可通过流水获得很高的运算效率和吞吐率。(4)脉动阵列结构的构形与特定的计算任务和算法密切相关,限制了其应用范围。脉动阵列机的发展目标:研制通用型脉动阵列机。2020年2月16日星期日106.2数据流计算机•数据流计算机的基本工作原理•数据流程序图和数据流语言•数据流计算机的基本结构•数据流计算机存在的主要问题2020年2月16日星期日117.2.1数据流计算机的基本工作原理•数据驱动的数据流方式:只要一条或一组指令所要求的操作数全部准备就绪,就可立即激发相应的指令或指令组执行。特点:①指令的执行基本上是无序的,完全受数据流的驱动;②没有程序计数器PC,取而代之的是“数据令牌”。“数据令牌”是一种表示某一操作数或参数已准备就绪的标志。2020年2月16日星期日127.2.2数据流程序图和数据流语言•数据流程序图:是一种用来表示指令级的数据流程序的有向图(directedgraph),它由多个结点(node)和一些连接它们的弧所组成。它说明了指令之间执行顺序的约束条件。•数据流程序图中的结点除表示一般的算术逻辑操作外,还可表示常数产生、复制操作、判定操作和控制操作等。2020年2月16日星期日13数据流程序图中常用的结点(1)算逻运算结点:+“加”+1“加1”N“非”∧“与”算术运算结点:加、减、乘、除、加l、减1等布尔运算结点:与、或、异或、非等2020年2月16日星期日14(2)常数结点:常数结点的功能是用来产生一个常数。常数产生结点没有输入端,只有一条输出线。n激发后•222数据令牌一般表示数据复制控制复制…•…o(3)复制结点:数据复制结点:图中圆点和箭头用实心表示。控制量(布尔量)复制结点:图中的圆点和箭头用空心表示。2020年2月16日星期日15(4)控制操作结点:激发后T门控结点F门控结点Ta•Ta•T•激发后Ta•FaF••T门控:仅当布尔控制端为真、且输入端有数据令牌时才能激发,然后在输出端产生数据令牌而输入端的数据令牌消失。F门控:仅当布尔控制端为假、且输入端有数据令牌时才能激发,然后在输出端产生数据令牌而输入端的数据令牌消失。2020年2月16日星期日16MGTFa•T•激发后MGTFa•MGTFa•F•激发后开关门控结点SWTFa•T•SWTFa•激发后SWTFa•F•SWTFa•激发后归并门控结点MGTFa•2020年2月16日星期日17(5)条件判断结点:0•x激发后激发后T(x0)0•≥xy••≥F(xy)•判断输入数据(通常是单个或两个)是否满足某种条件,如输入数据是否小于、等于、大于0,两个输入数据的大小比较等。当满足条件时,将在输出端产生T的控制令牌,否则便产生F的控制令牌。利用上述常用结点,可以画出一些程序结构的数据流程图。2020年2月16日星期日18X••Y≻0SWTFZZ=X+YX0Z=X-YX0oMGTF-+数据流程序图举例问题:图中有多少个结点?出现了多少种结点?复制判断开关控制复制算术运算归并2020年2月16日星期日19数据流语言•数据流语言的结构类似于命令式程序设计语言,但又要能方便地被编译成数据流程图。•数据流语言大都是单赋值语言。单赋值的含义是指,在程序中每个变量只能赋值一次,即同一变量在赋值语句的左部只允许出现一次,不允许对同一变量进行多次赋值。•常用的数据流语言有美国的ID和VAL,法国的LAU以及英国曼彻斯特大学的SISAL语言等。2020年2月16日星期日20数据流语言举例•对于点积操作,用ID语言则可写成如下的过程:•procedureinner_product(a,b,n)•initialS←0•forifrom1tondo•newS←S+(a[i]*b[i])•returnS2020年2月16日星期日217.2.3数据流计算机的基本结构•依据处理数据令牌的不同,数据流机可分成静态和动态两大类。•静态数据流机的数据令牌不带任何标号,在任何一条弧上只允许存在一个数据令牌。•动态数据流机的数据令牌带有标号。这样就可使数据流程序图中的任一条弧上同时存在带有不同标号(或称颜色)的数据令牌。2020年2月16日星期日22静态数据流计算机指令存储部件更新部件取指令部件处理器部件可执行指令队列结果包操作包…………::::2020年2月16日星期日23动态数据流计算机指令存储部件处理部件匹配令牌组……::更新/取指部件可执行指令队列…匹配部件由于任一条弧上同时存在带有不同标号(或称颜色)的数据令牌只要对令牌标号进行符合比较就可加以识别。为此,需要有一个称为匹配部件的硬件机构将标号附加到数据令牌上,并完成标号的匹配工作。2020年2月16日星期日247.2.4数据流机存在的主要问题1.指令级的数据驱动导致每条指令的执行有较大的时间开销,因为在运行时需要对每一个和每一次操作进行数据相关分析。2.由于数据流程序的操作包代码长度较长,将占用较多的存储空间。3.当机器规模变大时,接到转接网络上的流水环数将增加,从而使转接网络变成系统性能的新瓶颈口。2020年2月16日星期日256.3多核处理器计算机•多核处理器的工作原理•多核处理器的原型系统及产品•多核处理器系统的软件技术2020年2月16日星期日261、多核处理器的工作原理•片上多处理器(ChipMultiprocessor,CMP)系统∶允许多个线程在多个处理器核上并行执行,从而提高系统性能。•同时多线程(SimultaneousMultithreading,SMT)∶一个时钟允许发射多线程的多条指令,提高处理器发射槽以及功能部件的利用率。2020年2月16日星期日27多核处理器的组织结构•共享存储的CMP•共享二级Cache的CMP2020年2月16日星期日282、CMP的原型系统及产品•斯坦福大学的Hydra集成了4个MIPSR3000处理器核,每一个核有一对指令Cache和数据Cache,所有处理器核共享L2级Cache•IBM的Power4双核、SUNNiagara8核处理器、Intel安腾2双核处理器、AMDOpteron系列多核处理器2020年2月16日星期日293、多核处理器系统的软件技术•虚拟化技术∶根据需求将一个处理器虚拟化为多个独立的具有不同属性的虚拟机①满足用户需求的多样性②提高系统的使用效率,发掘处理器的潜在计算能力③实现系统间的安全隔离•虚拟化技术是在系统硬件和操作系统间增加VMM实现的2020年2月16日星期日30虚拟机1应用程序操作系统虚拟机1应用程序操作系统虚拟机n应用程序操作系统虚拟机监控器(VMM)系统硬件……2020年2月16日星期日31事务型内存•事务概念源于数据库系统,在数据库系统中事务具有原子性、一致性、隔离性和持续性•事务型内存是为了解决线程同步一种有效方法,替代先前的互斥锁•事务型内存实现有硬件和软件方法2020年2月16日星期日32core1core2begin_xactionA.withdraw(20)B.deposit(20)end_xactionbegin_xactionSun=A.sun+B.sunend_xactionA.sun=80B.sun=220内存中的值硬件事务型内存示例2020年2月16日星期日33本课程全部结束•祝同学们学习进步!考试成功!