- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
照flynn分类法。
按照flynn分类法。
SISD:单指令流单数据流.SIMD:单指令流多数据流.MISD:多指令流单数据流.MIMD:多指令流多数据流
提高微处理器性能的主要措施,理解其原理。
主要措施:
(1)提高主频:提高性能的最直接的方法。细化流水线。增加流水级数实现。但是往往会受到存储性能的限制。
(2)多线程:可以隐藏访存延迟,是提高系统吞吐率的有效方法。
(3)2Bump技术:脉冲上升沿和下降沿都进行信息的传送和接受,将频率提高两倍
(4)提高IPC:每拍并行流出多条指令是标量处理器中多个功能部件并行工作提供IPC的方法:超标量、超流水、超长指令字
(5)合理分配软硬件功能:不经常使用的功能交由软件完成,经常使用的功能交由硬件完成。
(6)优化片内cache
(7)加大通用存储器
(8)无序流出/乱序执行:不相关的指令中,后面的指令可以提前流出,提高IPC;无资源冲突的指令可以提前执行,减少功能部件和寄存器的空闲,提高计算速度。
(9)预取:指令中增加具有按时功能的指令,提示硬件提前执行加载指令,隐藏访存的延迟
(10)分支预测:硬件动态预测和软件静态预测。基于程序分支的历史记录来预测未来分支的趋势。设置踪迹缓存,记录程序执行的动态指令序列。
原理
指令的执行过程:从存储器取指令,译码,取操作数,控制相应功能部件进行规定操作,保存操作结果。
提高执行速度就要对程序执行过程中涉及的指令部件、存储部件和功能部件进行加速,平衡它们之间的性能。
防止指令流水线断流,提高存储器对指令和数据高带宽、低延迟的访问支持,减少功能部件的资源冲突。
可以通过改进编译器方式实现并行,编译器的改进方法
第一种:预处理程序:采用顺序编译器和目标计算机的底层程序库实现高级并行
第二种:预编译器:程序流优化、相关性检查和有限的优化来检测并行性
第三种:开发一种新的,并行化向量化的编译器。能自动检测目标代码的并行性,并将顺序结构转化为并行结构。但是现代的编译器无法检测所有的并行并自动进行需要用户显示表达编译
共享存储型多处理机的模型:三种
UMA—均匀存储器存取
NUMA---非均匀存储器存取
COMA—只有高速缓存的存储器结构
给出程序及相关条件,分析程序在多机系统上的运行时间。
假定经过共享存储器的处理机之间的每次通讯操作需要K个周期。假设取指令和加载数据的开销忽略不计。
顺序机器上执行程序2N个周期。假设M个处理机,将循环操作分成M段,每段有L=N/M个元素。第一个循环可以在L个周期完成,第二部分循环可以在L个周期计算出M个部和,如后面图
每一对部分和的相加需要通过共享存储器,k个周期。为了计算m个部分和,设计一个l层二进制加法树,其中l=log2m。加法树用l(k+1)个周期合并m个部分和。这样 2L+ l(k+1)个周期能够得到最终和
假设数组中有N=220个元素。顺序执行需要221个机器周期。假设通信开销k=200个周期,同时设M=256,则执行完成需要213+1608=9800个机器周期。则性能提高为221 /9800=2。也就是说我们用256个处理机的并行换来了214倍性能的提高,因为其中的通信开销
分析程序在并行随机存取机上运行的时间复杂性。
在一台处理机数为n3/logn的PRAM上,用O(logn)时间完成两个n*n矩阵的乘法
首先假设最初处理机数n3个。
用n3个处理机完成n3个乘法,为了得到矩阵结果,我们需要将这些乘法结果中的每n个乘积项用n3个处理机相加。需要O(logn)。但是在进行加法运算的时候最多有n3 /2个处于忙绿状态
将处理机的数目将为n3/logn,则每个PE负责计算logn个乘积项并将它们求和。首先每个PE产生n/logn个部分和(本应该是n个部分和,但是没有求全),每一个部分和由logn次乘法和(logn-1)次加法完成。这样最后的加法能在log(n/logn)完成。所以执行时间为2logn-1+log(n/logn)
程序的并行性,并行度。
并行化的应用程序在并行计算机上的执行时间最能反映并行系统的处理性能。
与系统提供的性能支持、应用程序特性、并行算法、并行程序和并行编译水平有关。
应能最大程度地利用并行系统中处理机资源,发挥其性能潜力。
程序的并行性
并行度:并行化程序在有p个处理机的系统上运行,使用的处理机的数目,为时间的函数,记作DOP(t)=p。
t0-t1期间并行度的算术平均值,称为程序的并行性A。
三种加速比模型:固定时间、固定负载和固定存储加速比模型
固定负载加速比:假设只有两种工作:串行工作和全并行工作,所谓全并行工作就是P台处理器全部工作。设串行工作量W1=f1W,Wp=(1-f1)W。此时S(P)转化为
希望f1越小越好,也被称作
文档评论(0)