资源预览内容
第1页 / 共51页
第2页 / 共51页
第3页 / 共51页
第4页 / 共51页
第5页 / 共51页
第6页 / 共51页
第7页 / 共51页
第8页 / 共51页
第9页 / 共51页
第10页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1-3 计算机系统的软硬取舍、性能 评测及定量设计原理基本内容:v软、硬取舍的基本原则v计算机系统的性能评测 v计算机系统的定量设计原理v计算机系统设计者的主要任务 v计算机系统的设计思路 v计算机系统的设计步骤计算机系统的软、硬件功能分配发展不可编程目前计算机最少硬件软件硬件软 硬 件 比 例控制流程的三种实现方法 v全硬件、软硬件结合、全软件逻辑上等价硬件实现:速度快、成本高;灵活性差、占用内存少软件实现:速度慢、复制费用低;灵活性好、占用内 存多、易设计、可改性强、适应性强、设计周期短;v发展趋势硬件实现的比例越来越高硬件所占的成本越来越低软硬件实现的优缺点项目软件硬件速度慢快系统灵活性 、适应性强弱成本低高计算机系统的软、硬件成本变化七十年代硬件软件成本年代软硬取舍的基本原则v很高的性能价格比 设:D为研制设计费用,M为重复生产费用h为硬件,s为软件。则: 设C为该功能在软件实现时需重新设计的次数;R:存储介质上出现的次数;V:生产的台数; 则硬件的费用: 软件的费用: 软硬取舍的基本原则(续)则只有: 用硬件实现才是适宜的。 将上述带入 : 可见:只有在C和R的值较大时,才成立。 由于: 则: 因为:C100所以V值越大,上式成立。即产量大。 软硬取舍的基本原则(续)v考虑到准备采用和可能采用的组成技术,使它尽可 能不要过多或不合理地限制各种组成、实现技术的 采用; v不能仅从“硬”的角度去考虑如何便于应用组成技 术的成果和发挥器件技术的进展,还应从“软”的 角度把为编译和操作系统的实现,以至高级语言程 序的设计提供更多更好的硬件支持放在首位; 软硬取舍的基本原则(续)v考虑用户的应用领域:专用硬件v设计周期长的硬件不宜采用v常用的功能尽量采用硬件实现v实现功能的价格性能比要低v尽量采用新技术实现超前设计举例1-3-1:v某一计算机用于商业外贸的事务处理,有大量的 字符串操作。由于这种事务处理很普遍,有较大 的市场,故而设计人员决定在下一代此类计算机 的CPU中加入字符串操作的功能。经测试应用软 件调查发现,字符串操作的使用占整个程序运行 时间的50%,而增加此功能如用软件(如微程序 )实现,则快5倍,增加CPU成本1/5倍;如果用 硬件实现,则快100倍,CPU成本增加到5倍。问 设计人员提出增加此功能是否恰当?是否用软件 还是硬件?v 设CPU成本占整机成本的1/3。v硬件实现v软件实现举例1-3-2:v如果上例中,字符串操作功能的使用时间占 整个程序运行时间的90%,则情况如何?v硬件实现v软件实现计算机系统的评测v性能指标体现在时间和空间v峰值性能:在理想情况下计算机系统可获得 的最高理论性能值,它不能反映出系统的实 际性能v实际性能(持续性能):只是峰值性能的5% -30%持续性能的表示v算术性能平均值:v调和性能平均值:v几何性能平均值: 加权算术平均值: 加权调和平均值: 加权几何平均值:CPU性能公式CPU的性能取决于三个要素:时钟频率fc (或时钟周期t);每条指令所花的时钟周期数CPI;指令条数IC 一个程序所花的CPU时间(T)可以用两种方式来表示: CPU时间(T)=CPU时钟周期数(CPIIC)*时钟周期长(t)每条指令的平均时钟周期数 :v计算CPU的程序时间:vIC (Instruction Counter):程序执行的总指令 条数vCPI (Cycles Per Instruction):平均每条指令的 时钟周期vfc:主时钟频率v假设系统共有n种指令,第i种指令在程序中出现 的次数为Ii,v这样:MIPS(Million Instruction Per Second)MFLOPS(Million Floating Point Per Second)评测方法v采用实际的应用程序测试如:C语言的编译程序,CAD应用:Spicev采用核心程序测试从实际程序中抽出关键部分组合而成v合成测试程序人为写的核心程序,规模小,结果预知v综合基准测试程序人为平衡编制基准测试程序,与实际应用差别较大,所 测得的性能往往不真实计算机系统的定量设计原理 v哈夫曼压缩原理vAmdahl定律v程序访问的局部性规律哈夫曼压缩原理尽可能加速高概率事件远比加速处理概率很 低的事件对性能提高要显著。Amdahl 定律vMake the common case fast例如:CPU中的加法,溢出情况。v这是计算机设计中最重要也最广泛采用的设计准则 。使经常性事件的处理速度加快能明显提高整个系 统的性能。Amdahl定律(续)系统对某一部件采用某种更快执行方式所能 获得的系统性能改进,取决于这种执行方式被 使用的频率,或所占总执行时间的比例。Amdahl定律(续)v定义了加速比的大小Amdahl加速比(续)例1-3-3 假设将某系统的某一部件的处理速度加快到10倍,但 该部件的原处理时间仅为整个运行时间的40%,则 采用加快措施后能使整个系统的性能提高多少?解:由题意可知:fe=0.4, re=10,根据Amdahl定律 例1-3-4采用哪种实现技术来求浮点数平方根FPSQR 的操作对系统的性能影响较大。假设FPSQR操 作占整个测试程序执行时间的20%。一种实现方法是采用FPSQR硬件,使FPSQR 操作的速度加快到10倍。另一种实现方法是使所有浮点数据指令的速度 加快,使FP指令的速度加快到2倍,还假设FP 指令占整个执行时间的50%。请比较这两种设 计方案。解:分别计算出这两种设计方案所能得到的加 速比:性能递减规则如果仅仅对计算机中的一部分做性能改进,则改 进越多,系统获得的效果越小。 推论:如果只针对整个任务的一部分进行优化, 那么所获得的加速比不大于1/(1-fe)。一个“好”的计算机系统:具有高性价比的计算机 系统是一个带宽平衡的系统,而不是看它的某些部 件的性能 。Amdahl定律(续)CPU性能公式CPU的性能取决于三个要素:时钟频率f(或时钟周期t);每条指令所花的时钟周期数CPI;指令条数IC 一个程序所花的CPU时间(T)可以用两种方式来表示: CPU时间(T)=CPU时钟周期数(CPIIC)*时钟周期长(t)每条指令的平均时钟周期数 :例1-3-5如果FP操作的比例为25%,FP操作的平均 CPI=4.0,其它指令的平均CPI为1.33,FPSQR 操作的比例为2%, FPSQR的CPI为20。假设有 两种设计方案,分别把FPSQR操作的CPI和所 有FP操作的CPI减为2。试利用CPU性能公式比 较这两种设计方案哪一个更好(只改变CPI而时 钟频率和指令条数保持不变)。解:原系统的CPI=25%4+75%1.33=2方案1(使FPSQR操作的CPI为2)系统CPI=CPI原-2%(20-2)=2-2%18=1.64方案2(提高所有FP指令的处理速度)系统CPI=CPI原-25%(4-2)=2-25%2=1.5我们也可以根据以下公式计算出方案2系统的CPICPI= 75%1.33+25%2=1.5显然,提高所有FP指令处理速度的方案要比提高FPSQR 处理速度的方案要好。方案2的加速比=2/1.5= 1.33假设我们考虑条件分支指令的两种不同设计方法如 下: (1) CPU1:通过比较指令设置条件码,然后测试条 件码进行分支。 (2) CPU2:在分支指令中包括比较过程在两种CPU中,条件分支指令都占用2个时钟周期而 所有其它指令占用1个时钟周期,对于CPU1,执行 的指令中分支指令占20%;由于每个分支指令之前 都需要有比较指令,因此比较指令也占20%。例1-3-6由于CPU1在分支时不需要比较,因此假设它的时 钟周期时间比CPU2快1.25倍。哪一个CPU更快?如果CPU1的时钟周期时间仅仅比CPU2快1.1倍, 哪一个CPU更快呢?解:我们不考虑所有系统问题,所以可用CPU性 能公式。占用2个时钟周期的分支指令占总指令的 20%,剩下的指令占用1个时钟周期。所以CPI1 = 0.2 2 + 0.80 1 = 1.2则CPU性能为:总CPU时间1 = IC 1.2 时钟周期1根据假设,有:时钟周期2 = 1.25 时钟周期1在CPU2中没有独立的比较指令,所以CPU2的程 序量为CPU1的80%,分支指令的比例为:20%/80% = 25%这些分支指令占用2个时钟周期,而剩下的75% 的指令占用1个时钟周期,因此:CPI2= 0.25 2 + 0.75 1 = 1.25因为CPU2不执行比较,故:IC2= 0.8 IC1因此CPU2性能为:总CPU时间2 = IC2 CPI2 时钟周期2= 0.8 IC1 1.25 (1.25 时钟周期1)= 1.25 IC1 时钟周期1在这些假设之下,尽管CPU2执行指令条数较 少,CPU1因为有着更短的时钟周期,所以比 CPU2快。如果CPU1的时钟周期时间仅仅比CPU2快1.1倍, 则时钟周期2= 1.10 时钟周期1CPU2的性能为:总CPU时间2 = IC2 CPI2 时钟周期2 = 0.8 IC1 1.25 (1.10 时钟周期1)= 1.10 IC1 时钟周期1因此CPU2由于执行更少指令条数,比CPU1运行 更快。程序访问的局部性规律v局部性分时间上的局部性和空间上的局部性时间局部性:程序中近期被访问的信息项很可能 马上将被再次访问。空间局部性:指那些在访问地址上相邻近的信息 项很可能会被一起访问。v存储器体系的构成就是以访问的局部性原理为基础 的。计算机系统设计者的主要任务 v满足用户对功能上的要求以及相应的价格性能要 求v满足功能要求的基础上,进行优化设计v设计应能适应日后的发展趋势硬件与软件的发展v硬件:晶体管数: 增加25%/年, 三年一倍DRAM的密度: 增加60%/年, 二年三倍访存周期: 减少33%/十年硬盘密度: 增加25%/年访问时间: 减少33%/十年 v软件: 程序空间: 增加1.52位/年地址: 增加0.51位/年 计算机系统设计思路v由上往下(Top-down)v由下往上(Bottom-up)v由中间开始(Middle-out)由上往下(Top-down)v设计过程:由上向下面向应用的数学模型面向应用的高级语言面向这种应用的操作系统面向操作系统和高级语言的机器语言面向机器语言的微指令系统和硬件实现v应用场合:专用计算机的设计(早期计算机的设计)v特点:对于所面向的应用领域,性能和性能价格比很高,应 用对象变了,难以适应。v随着通用计算机价格降低,目前已经很少采用第一步:确定这一级的基本特性第二步:设计或选择面向这种应用 的高级语言第三步:设计适于所用高级语言编译 的中间语言第四步:设计面向这种应用的操作系统第五步:设计面向所用编译程序和 操作系统的机器语言第六步:设计面向机器语言的伪指令 机器硬件实现微程序机器级传统机器级操作系统 虚拟机器级汇编(中间)语言 虚拟机器级面向应用的高级语言 虚拟机器级应 用 虚拟机器级由 上 往 下 设 计由下往上(Bottom-up)v设计过程:根据当时的器件水平,设计微程序机器级和传统机器级。根据不同的应用领域设计多种操作系统、汇编语言、高级语 言编译器等。最后设计面向应用的虚拟机器级。v应用场合: 在计算机早期设计中(6070年代)广为采用v特点:容易使软件和硬件脱节软件被动,某些性能指标不确切整个计算机系统的效率降低。微程序机器级传统机器级操作系统 虚拟机器级汇编(中间)语言 虚拟机器级面向应用的高级语言 虚拟机器级应 用 虚拟机器级由 下 往 上 设
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号