1、计算机体系结构计算机体系结构 完整完整讲义讲义2022-6-62第1章 计算机系统设计基础 1.1 计算机系统的基本概念 1.2 计算机系统的设计技术 1.3 计算机系统的性能评价 1.4 计算机系统结构的发展2022-6-63本章学习要求 了解计算机系统的多级层次结构 掌握系统结构、组成和实现的定义及属性,会透明性分析 掌握计算机系统的设计原理、性能计算 掌握计算机系统的分类,特别是Flynn分类 了解软件对计算机系统结构发展的影响2022-6-641.1 计算机系统的基本概念 机器:能存储和执行相应语言程序的算法和数据结构的执行体 计算机语言:是用以描述控制流程的、有一定规则的字符集合 语
2、言不是专属软件范畴,可以介属于计算机系统的各个层次,具有不同作用 从使用语言的角度上,将计算机系统看成按功能划分的多级层次结构 机器、汇编、高级、应用语言 低级 高级 后者比前者功能更强、使用更方便;而前者是后者发展的基础,在单条指令的执行速度相比较,前者更快。1.1.1计算机系统的多级层次结构2022-6-66计算机系统的多级层次结构图微程序微程序/硬联硬联直接由硬件执行直接由硬件执行解释解释部分解释(操作系统)部分解释(操作系统)翻译(汇编程序)翻译(汇编程序)翻译(编译程序)翻译(编译程序)翻译(应用程序包)翻译(应用程序包)应用语言级应用语言级L5虚拟机虚拟机高级语言机器高级语言机器L
3、4虚拟机虚拟机汇编语言机器汇编语言机器L3虚拟机虚拟机应用软件应用软件固固 件件系统软件系统软件传统机器级传统机器级操作系统机器操作系统机器软硬件交界面软硬件交界面L2虚拟机虚拟机物理机器物理机器硬硬 件件软软 件件2022-6-67多级层次结构(机器语言) M5: 应用语言机器-应用语言(L5) M4: 高级语言机器-高级语言(L4) M3: 汇编语言机器-汇编语言(L3) M2: 操作系统机器-作业控制语言(L2) M1: 传统机器-机器语言(L1) M0: 微程序机器-微程序语言(L0)2022-6-68从设计人员看到的层次 应用程序级 用户 高级语言级 高级语言程序员 汇编语言级 汇编
4、语言程序员 操作系统级 操作员 机器语言级 机器语言程序员 微程序控制级 逻辑程序员 硬联逻辑级 硬件设计员翻译(Translation):先用转换程序将高一级机器级上的程序整个地变换成低一级机器级上可运行的等效程序(中间程序),然后再在低一级机器级上去实现的技术。例:英语翻译计算机系统中的翻译功能常由应用程序包、编译程序、汇编程序等软件完成。解释(Interpretation):在低一级机器级上用它的一串语句或指令来仿真高一级机器上的一条语句或指令的功能,通过对高一级机器语言程序中的每条语句或指令逐条解释来实现的技术 解释过程中不生成中间程序(节省了存储空间)或者:一条N+1级指令-一串N级
5、指令例:解释一件事翻译和解释是语言实现的两种基本技术。解释比翻译费时,但节省存储空间翻译为整体行为,可以优化,效率高,与平台有关解释为局部行为,不优化,效率低,与平台无关翻译+解释:Java2022-6-612控制流程的三种实现方法 全硬件、软硬件结合、全软件 逻辑上等价,物理意义上不等价 硬件实现:速度快、成本高;灵活性差、占用内存少 软件实现:速度低、复制费用低;灵活性好、占用内存多 发展趋势 硬件实现的比例越来越高 硬件所占的成本越来越低2022-6-613计算机系统的软硬件成本变化成本年代软件硬件70年代从概念和功能上将计算机系统看成多级层次结构的优点:1. 理解软件、硬件、固件的地位
6、和作用 2. 理解各种语言的实质和实现途径 3. 探索虚拟机新的实现方法和新的系统设计 由硬件固件实现高级语言机器 多处理机系统由真正微处理机实现 4. 理解计算机体系结构的定义 5. 在一台真正的宿主机上通过模拟或仿真另一台不同的假想机器自虚拟技术 2022-6-6151.1.2 系统结构、组成与实现 定义与理解 三者的相互关系2022-6-616计算机系统结构的定义System Architecture 是对计算机系统中各机器级之间界面的划分和定义,以及对各级界面上、下的功能进行分配 1964年,IBM/360系列机的总设计工程师G.M. Amdahl、G.A. Blauw、F.P. Br
7、ooks等人提出。也称体系结构。 是从程序员的角度所看到的系统的属性,是概念上的结构和功能上的行为 它不同于数据流程和控制的组织,不同于逻辑设计以及物理实现方法2022-6-617定义的理解 从两个角度理解一是计算机系统结构既然是“从程序员的角度所看到的系统的属性”,那么每一级“机器”都有一个系统结构,而且它们相互不同二是将计算机的系统结构定义在传统机器界面(M1)程序员所看到的计算机的基本属性2022-6-618计算机系统结构的基本属性 一般应包括以下几个方面 指令系统、数据表示、操作数的寻址方式 寄存器的构成定义、中断机构和例外条件 存储体系和管理、I/O结构 机器工作状态定义和切换、信息
8、保护在所有系统结构的特性中,指令系统的外特性是最关键的2022-6-619计算机组成Computer Organization 研究硬件系统各组成部分的内部构造和相互联系,以实现机器指令级的各种功能和特性,目标是用最合理地方式将各种设备和部件连接为计算机,以达到最优的性价比,从而实现所确定的系统结构。它是计算机系统结构的逻辑实现计算机系统结构的逻辑实现,包括机器级内的数据流和控制流的组成以及逻辑设计等。2022-6-620计算机组成的基本属性 数据通路宽度 各种操作功能部件的共享程度 专用部件的设置 功能部件的并行性 缓冲和排队技术 控制机构的组成方式 预测技术 可靠性技术2022-6-621
9、计算机实现Computer Implementation 研究各部件的物理结构、机器的制造技术和工艺等,它着眼于器件技术和微组装技术 主存的物理实现,如存储器采用什么样器件,逻辑电路设计和微组装技术均属计算机实现它是计算机组成的物理实现计算机组成的物理实现2022-6-622定义理解举例主存系统 主存容量与编址方式的确定-系统结构 主存速度的确定、逻辑结构的模式-组成 器件的选定、电路的设计、组装技术-实现指令系统指令系统的确定-系统结构指令的实现-组成具体电路、器件设计及装配技术-实现2022-6-623系统结构、组成和实现相互关系 *具有相同系统结构的计算机可以采用不同的组成,一种计算机组
10、成可以采用多种不同的计算机实现(系列机与兼容机)*采用不同的系统结构会使可以采用的组成技术产生差异,计算机组成也会影响系统结构2022-6-624是否设置乘方/开方指令逻辑设计1(硬联电路)实现方案1(V1,$1,T1)逻辑设计3微程序逻辑设计2(ROM查表)实现方案2(V2,$2,T2)实现方案3(V3,$3,T3)相同系统结构的计算机可以采用不同的组成相同计算机组成可以采用多种不同的计算机实现计算机系统结构计算机组成计算机实现是否2022-6-625举例:不同系统结构对软件的影响A:= B+C D:=E*F面向三地址寻址: ADD B,C,A MPY E,F,D面向寄存器: LOAD R1
11、,B ADD R1,C STORE R1,A LOAD R2,E MPY R2,F STORE R2,D2022-6-626透明性 Transparency 本来存在的事物或属性,从某个角度去看却看不到。 在一个计算机系统中,低层机器的属性往往对高层机器的程序员是透明的。 计算机组成设计的内容,对传统机器程序员来讲一般是透明的。2022-6-627举例1 在多级层次结构的计算机系统中,传统机器级的概念性结构和功能特性,对高级语言的程序员来说是透明的,而对汇编语言的程序员来说不是透明的。这说明高级语言的程序员不必知道机器的指令系统、中断机构等,这些本来存在的属性,对高级语言的程序员来说好像不存在
12、一样,所以说是透明的。对计算机系统结构来说,存储器采用交叉存取还是并行存取、CPU内部的数据通路的宽度是8位还是16位,这些都是透明的,而对计算机组成来说这些不是透明的。2022-6-628举例2 指令执行采用串行、重叠还是流水控制方式,对系统结构来说是透明的,但对计算机组成来说不是透明的。乘法指令采用专用乘法器实现,对系统结构来说是透明的,而对计算机组成来说不是透明的存储器采用哪种芯片,对计算机系统结构和组成来说是透明的,而对计算机实现来说不是透明的。2022-6-6291.1.3 计算机系统的分类 采用的基本器件分类 计算机系统成本分类 19661966年年Michael J. Flynn
13、Michael J. Flynn分类分类 1978年David J. Kuck分类 1972年冯泽云分类2022-6-630一 按采用的基本器件分类 计算机的更新换代 第一代:电子管计算机 第二代:晶体管计算机 第三代:中小规模集成电路 第四代:大或超大规模集成电路 第五代:VLSI(甚大规模集成电路)计算机性能的大幅度提高和更新换代,一方面依靠器件的不断更新,同时也依赖系统结构的不断改进。硬件设计公理:越小越快2022-6-631二 按计算机系统成本分类 巨型计算机、超级计算机:SuperComputer 大型计算机:MainComputer 中型计算机:MidComputer 小型计算机:
14、MiniComputer 微型计算机:MicroComputer 工作站:Workstation介于小型机和微型机之间,具有小型机的性能,微型机的价格2022-6-632Michael J.Flynn (弗林)分类法按照指令流和数据流的多倍性进行分类1.基本概念 指令流(instruction stream):机器执行的指令序列 数据流(data stream):由指令流调用的数据序列 多倍性(multiplicity):在系统瓶颈部件上处于同一执行阶段的指令或数据的最大可能个数多指令流多数据流 MIMD (Multiple Instruction stream Multiple Data s
15、tream)(多计算机系统)2.分类单指令流单数据流 SISD(Single Instruction stream Single Data stream) (传统计算机,如IA结构的PC机)单指令流多数据流SIMD (Single Instruction stream Multiple Data stream) (阵列计算机,如ILLIAC 机 )多指令流单数据流 MISD (Multiple Instruction stream Single Data stream)(较先进的流水线处理机,如VLIW机)2022-6-634四 David J. Kuck分类 库克分类:指令流、执行流、多倍性
16、单指令流单执行流SISE单指令流多执行流SIME多指令流单执行流MISE多指令流多执行流MIME2022-6-635五 1972年冯泽云分类 用最大并行度Pm分类 最大并行度Pm:在单位时间内能够处理的最大的二进制位数 2022-6-636 横坐标代表字宽横坐标代表字宽(n(n位位) ),即在一个字中同时处理的二进制位数,即在一个字中同时处理的二进制位数纵坐标代表位片宽度纵坐标代表位片宽度(m(m位位) ),即在一个位片中能同时处理的字数,即在一个位片中能同时处理的字数 字宽字宽n n位片宽位片宽m m。n=1,m=1,n=1,m=1,字串位串字串位串(WSBS) (WSBS) 如串行计算机如
17、串行计算机。n1,m=1,n1,m=1,字并位串字并位串(WPBS) (WPBS) 如传统计算机如传统计算机。1 11616323264641 11616323264642562562882881638416384。n1,m1,n1,m1,字并位并字并位并(WPBP) (WPBP) 如阵列计算机如阵列计算机。n=1,m1,n=1,m1,字串位并字串位并(WSBP) (WSBP) 如如 STARANSTARAN等机等机。MPPMPPSTARANSTARANPDP-11PDP-11IBM360IBM360TI-ASCTI-ASCILLIACILLIACPEPEPEPECmmpCmmp。2022-6
18、-6371.2 计算机系统的设计技术 1.2.1 计算机系统的设计原理 -加快经常性事件的速度 -Amdahl定律 -程序访问的局部性规律 1.2.2 计算机系统的设计方法 -软硬件舍取的基本原则 -计算机系统设计者的主要任务 -计算机系统设计的基本方法 (三种)2022-6-6381.2.1 计算机系统的设计原理 加快经常性事件的速度 Amdahl定律 程序访问的局部性规律 Amdahl/case准则 成功转移法则 Cache法则2022-6-6391.加快经常性事件的速度 这是计算机设计中最重要也最广泛采用的设计准则。使经常性事件的处理速度加快能明显提高整个系统的性能 在当今的微处理机实现
19、技术中,经常发生的事件由硬件完成,而不经常发生的事件交由软件完成。2022-6-640 2. Amdahl定律 系统对某一部件采用某种更快执行方式所能获得的系统性能改进程度,取决于这种执行方式被使用的频率,或所占总执行时间的比例。IBM大型计算机之父大型计算机之父2022-6-641Amdahl定律(理解)CPU硬件系统ALU占系统运行时间的30%编译软件系统公共子程序30%被加(提)速部件要优化改进的软件2022-6-642Amdahl定律表达式eeeoePrffTTS/)1 (1务的总时间系统改进后执行同一任务的总时间系统改进前执行某一任系统改进前的性能系统改进后的性能系统加速比ef表示被
20、改进部分在改进前占系统的比例er表示被改进部分的加速比2022-6-643Amdahl表达式的解释eeeeeeeeeoTrffrTffTT)1()1 (改进后的执行总时间=不可改进部分的执行时间 +不可改进部分的比例可改进部分的执行时间2022-6-644Amdahl 举例 假设将某系统的某一部件的处理速度加快到10倍,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?解:由题意可知 fe=0.4, re=10, 根据Amdahl定律56. 164. 0110/4 . 06 . 01pS2022-6-645思考题 采用哪种实现技术来求浮点数平方根FPSQ
21、R的操作对系统的性能影响较大。假若FPSQR操作占整个测试程序执行时间的20%。一种实现方法是采用FPSQR硬件,使FPSQR操作的速度加快到10倍。另一种实现方法是使所有的浮点数据指令的速度加快,使之加快到2倍,还假设FP指令占整个执行时间的50%。2022-6-6463. 程序访问的局部性规律 程序访问局部性主要反映在时间和空间局部性两个方面 时间局部性是指程序中近期被访的信息项很可能马上将被再次访问;空间局部性是指那些在访问地址上相邻近的信息项很可能会被一起访问 这是构成存储体系(存储层次)的主要规律 2022-6-6474、Amdahl/case准则 一个平衡的计算机系统,其CPU每1
22、MIPS的速度应有1MB的主存容量和1Mb/s的I/O吞吐率。 这一准则为设计平衡的计算机系统的提出了三者之间的参考指标。由于是统计结果,具体应用还需要适当调整。2022-6-6485、成功转移法则 对于转移指令:向后转移指令有90%的成功率;对于向前转移指令有20%的成功率。 这一转移法则为预测处理提供了参考信息。2022-6-6496、Cache法则 容量为C的直接映像Cache的失效率与容量为C/2的二路组相联Cache的失效率大致相等。 这一法则指出在相同命中率条件下控制复杂性的增加可以换取Cache容量的减小。1.软硬取舍的基本原则原则一:在现有器件和技术条件下,系统要有高的性能价格
23、比原则二:不应对组成和实现技术有过多的限制原则三:对软件提供更多更好的支持(OS、编译、高级语言) 1.2.2 计算机系统的设计方法计算机系统的设计方法2022-6-6512.计算机系统设计的主要任务 要满足用户对功能上的要求以及相要满足用户对功能上的要求以及相应的对价格和性能要求应的对价格和性能要求 在满足功能要求基础上,进行设计在满足功能要求基础上,进行设计的优化的优化 设计应能适应日后发展趋势设计应能适应日后发展趋势 2022-6-652计算机发展的基本趋势计算机发展的基本趋势 一个芯片上的晶体管数大约每年增加25,因此每三年可增加一倍; 器件的开关速度增长基本类似DRAM的密度每 年增
24、长约60,因此每三年将增长三倍; 访问存储器周期改进相应较慢,每十年约减 少13;硬盘密度每年增加25,每三年增加一倍,访问时间则每十年减少13。2022-6-653计算机系统设计的主要方法方法一:方法一:“由上往下由上往下”设计设计: 先考虑如何满足应用要求,确定好面对使用者那级机器应有什么基本功能和特性,如基本命令、指令或语言结构、数据类型和格式等,然后再逐级往下设计,每级都考虑怎样优化上一级实现。方法特征:它适合于专用机设计,不适合于通用机设计。 2022-6-654方法二:由下往上设计 不管应用要求,只根据能拿到的器件参照或吸收已有各种机器的特点,先设计出微程序机器级(如果采用微程序控
25、制)及传统机器级,然后再为不同应用配多种操作系统和编译系统软件。 方法特征:设计周期长。当一种结构的机器完成以后,硬件技术又已发展了一大步。20世纪6070年代前常用此方法。 2022-6-655方法三:由中间开始设计 先进行合理的软、硬件功能分配,既要考虑能拿到的硬、器件,又要考虑可能的应用所需的算法和数据结构,先定义好这个交界面。确定哪些功能由硬件实现,哪些功能由软件实现,同时还要考虑好硬件对操作系统、编译系统的实现提供些什么支持。然后由这个中间点分别往上、往下进行软件和硬件的设计。“中间”指传统机器级界面。方法特征:设计周期短,软硬件结合。 2022-6-656提高微处理器性能方法1、提
26、高主频。提高主频可使系统中的各个部件受益,是提高系统性能最直接的方法。2、多线程。可隐藏访存延迟,是提高系统吞吐率的有效办法。3、2Bump技术。时钟信号的上升、下降沿均控制信息的发送和接收,此技术既可用于逻辑电路也可用于总线。2022-6-6574、提高IPC技术。即为先进的流水技术。5、合理分配软、硬件功能。6、优化片内Cache。将二、三级Cache尽量放在处理器内部。7、加大通用寄存器数量。8、乱序发送/乱序完成的指令调度技术。9、预取技术。10、分支预测技术。2022-6-6581.3 计算机系统的性能评价 CPU 性能公式(CPU工作时间) MIPS和MFLOPS 基准测试程序 性
27、能评价结果的统计和比较 2022-6-6591.3.1 CPU性能公式一个程序在CPU上运行所需的时间:CNCPUTCPIIT其中,niNiiIICPICPI1)(2022-6-660思考题 如果FP操作的比例为25%,平均CPI=4,其它指令的CPI=1.33, FPSQR操作的比例为2%,CPI=20。假若有两种设计方案,分别将FP操作和FPSQR操作的CPI都减为2。试比较这两个方案哪个更好?2022-6-6611.3.2 MIPS和MFLOPSMIPS每秒(可执行)百万条指令666101010CPIRTCPIIITIMIPSCCNNENMFLOPS每秒(可执行)百万条浮点指令610EF
28、NTIMFLOPS2022-6-662举例 例例1 1 用一台4OMHz处理机执行标准测试程序,它含的混合指令数和相应所需的时钟周期数如下: 指令类型 指令条数 时钟周期数 整数运算 45000 1 数据传送 32000 2 浮点运算 15000 2 控制转移 8000 2求有效CPI、MIPS速率和程序的执行时间。2022-6-663 解:依题意可知 IN=105条,n=4,55.1)08.0215.0232.0245.01 ()(411iniNiiIICPICPI8 .251055. 1104010666CPIRMIPSC)(875.31055.11064015msTCPIITCNCPU2
29、022-6-664 例例2 2 某工作站采用时钟频率为15MHz、处理速率为10MIPS的处理机来执行一个巳知混合程序。假定每次存储器存取为1周期延迟、试问: (1) 此计算机的有效CPI是多少? (2) 假定将处理机的时钟提高到30MHz,但存储器子 系统速率不变。这样,每次存储器存取需要两个时钟 周期。如果30指令每条只需要一次存储存取,而另 外5每条需要两次存储存取,还假定已知混合程序 的指令数不变,并与原工作站兼容,试求改进后的处 理机性能。 解 (1)5 . 11010/101510/666MIPSfCPIoldold2022-6-665(2) 依题意可知:30%的指令需要一次存储存
30、取,则这些指令在处理器提高时钟频率之后需要增加1个时钟周期;另外5%的指令需要增加2个时钟周期。 改进后性能提高情况可用CPU时间之比表示: 9 . 12%51%30oldnewCPICPI79.15)109.1/(1030)10/(666newnewnewCPIfMIPS58. 1/)()(newNnewoldNoldnewCPUoldCPUfICPIfICPITT2022-6-6661.3.3 基准测试程序 用于评价计算机系统性能的基准测试程序(Benchmark) 。 采用实际应用程序。如c语言的各种编译程序及CAD工具软件等; 从实际程序中抽取少量关键循环程序段来组成核心程序,以此来评
31、估性能; 合成测试程序。它类似于核心程序方法,但这种合成测试程序是人为编制的。较流行的合成测试程序有 Whetstone和 Dhrystone两种. 2022-6-667SPEC测试程序 在1988年,美国HP、DEC、MIPS以及SUN公司,发起成立了SPEC(Standard Performance Evaluation Corporation)(标准性能评估协会) SPEC是一非盈利社团,致力于“建立、维护和认可一个基准测试程序标准化集,以用于最新一代高性能计算机的性能衡量。” SPEC89、92、95和2000共四个版本2022-6-668 SPEC89由10个工程/科学测试程序(GC
32、C,Espresso,Splce2g6,DODUC,NASA7,Li,Eqntott,Matrix300,FPPPP,TOMCATV)组成。 其中4个用C语言编写(GCC,Espresso,Li和Eqntott)用于整数运算,6个用FORTRAN语言编写,用于浮点运算。计算所得SPECmark的分值越大越好,它是相对于VAX11780的性能,lSPEC分值约相当于0.20.3MFLOPS。 SPEC89后来演化出两个测试程序集:S P E C m a r k 测 量 1 0 个 程 序 的 执 行 速 率 ,SPECthruput考察系统的吞吐率。2022-6-669Pentium与80486
33、性能比较 Pentium/66 80486DX2/66 推出日期: 1993年3月 1992年8月 制造工艺: 0.8um CMOS 0.8um CMOS 整数/浮点部件: 2/1个 2/1个 片内Cache : 16K(指/数分开) 8K(指/数混存) 外部数据总线 : 64 位 32位 Dhryston值: 100MIPS 54MIPS SPECint89值: 70 33.6 SPECfp89值: 70 18.32022-6-670SPEC92由20个测试程序组成,包括CINT92(6)和CFP92(14)参照机:VAX11/780程序描述/领域CompressEspresoGccEqnt
34、ottScxlisp自适应压缩函数最小化GNU C编译器逻辑设计电子表格Lisp解释器程序描述/领域AlvinnDoduceEarFppppHydro2dMdljdp2Mdljsp2Masa7OraSpiceSu2corSwm256TomcatWave5神经网络/机器人核反应堆模拟/物理学耳朵模拟/医学电子积分/化学喷气计算/天体物理运动方程/化学(双)运动方程/化学(单)浮点内核光线跟踪/光学电路模拟/电路设计粒子质量/量子物理水方程求解/模拟网格生成程序麦克斯韦方程求解2022-6-671SPEC95由18个测试程序组成,包括CINT95(8)和CFP95(10)参照机:SUN SPARC
35、 10/40SPEC2000由26个测试程序组成,包括CINT2000(12)和CFP2000(14)参照机:SUN Ultra5_10 300MHz Alpha Station 500/500(System#1) Personal Workstation 500au(System#2) Alpha Server 4100 5/533(System#3)2022-6-672SPECint2000整数基准测试程序集基准测试程序基准测试程序语言语言驻留大小驻留大小虚拟大小虚拟大小描述描述164.gzipc181 (MB)200(MB)压缩175.vprc5055.2FPGA应用176.gccc15
36、5158C编译器181.mcfc190192组合优化186.craftyc2.14.2下棋游戏197.parserc3762.5字处理252.eonC+0.73.3计算机可视化253.perlbmkc146159Perl编程254.gapc193196解释器(群论)255.vortexc7281Oob数据库256.bzip2c185200压缩300.twolfc1.94.1路由模拟器2022-6-673Gcc.176编译器2022-6-674SPECfp2000浮点基准测试程序集基准测试程序基准测试程序语言语言驻留大小驻留大小 虚拟大小虚拟大小 描述描述168.wupwiseF77176 (M
37、B)177(MB)量子染色动力学171.swinF77191192浅水建模172.mgridF775656.7三维势能场173.appluF77181191偏微分方程177.mesac9.524.7三维图形库178.galgelF9063155计算流体力学179.artc3.75.9神经网络应用183.equakec4951.1地震波传输模拟187.facerecF901618.5图象处理:脸部识别188.ammpc2630计算化学189.lucasF90142143数论191.fma3dF90103105有限元模拟200.sixtrackF772659.8核物理应用301.apsiF7719
38、1192气象学:污染物质分布2022-6-675龙芯2号处理器 2022-6-6762022-6-6772022-6-678HPC的性能测试Linpack Linpack包括: Linpack100、1000和HPL Linpack是用高斯消元法要求解一元N次稠密线性方程。只能采用编译优化选项,不能更改程序代码,甚至是代码中的注释 必须安装支持C和Fortran77的编译器、并行编程环境MPICH2022-6-6791.3.4 性能评价结果的统计和比较 1算术性能平均值AmnininiimTTTnTnRnA1211)111(11112几何性能平均值GmnniinniimTRG)1()(113调
39、和性能平均值HmnniiniimTTTnTnRnH21111Ri表示由n个程序组成的工作负荷中执行第i个程序的速率,Ti表示执行第i个程序所需的时间 2022-6-680程序机器A执行时间机器B执行时间机器C执行时间程序111020程序2100010020程序3500100050程序4100800100例3 已知四个程序在三台计算机上的执行时间(s)如下表: 假设四个程序中每一个都有100 000 000条指令要执行,计算这三台计算机中每台机器上每个程序的MIPS速率。根据这些速率值,你能否得出有关三台计算机相对性能的明确结论?你能否找到一种将它们统计排序的方法?试说明理由。2022-6-68
40、1程序机器A的MIPS机器B的MIPS机器C的MIPS程序1100105程序20.115程序30.20.12程序410.1251由上述机器的MIPS速率,可知每台机器对4个程序有不同的处理时间,而且大小顺序不同,所以不能得出明确的结论。解:根据式 可得出每台机器每个程序的MIPS速率如下: )10/(6ENTIMIPS2022-6-682平均执行时间机器A机器B机器C算术平均25.32.813.25几何平均1.190.592.66调各平均0.250.202.1如果按照算术平均比较性能,机器A最快,机器B最慢;如果按照几何平均比较性能,机器C最快,机器B最慢;如果按照调各平均比较性能,机器C最快
41、,机器B最慢。下面可采用统计的方法比较各机器的性能: 3 .25) 12 . 01 . 0100(4111niimRnA如机器A的算术平均:2022-6-6831.4 计算机系统结构的发展 传统计算机结构特点及其演变 软件、器件和应用对系统结构发展的影响 计算机的成本和价格2022-6-6841.4.1 传统机结构特点及其演变 传统的冯.诺依曼计算机结构输出设备输入设备控制器运算器存储器传统计算机结构模式的主要缺点有 :1.存在有两个瓶颈:物理瓶颈和智能瓶颈;2.低级的机器语言和高级的程序设计语言之间存在着巨大的语义差距;3.复杂的数据结构对象无法直接存放到一维线性地址空间的存储器中,必须经过
42、地址映象。 2022-6-686针对传统计算机结构模式的演变针对传统计算机结构模式的演变两个瓶颈:“改良”方法“改革”方法Cache存储器、并行主存技术高级流水技术语义差距:数据结构:面向高级语言机器、虚拟存储技术以支持高级语言编程自定义数据表示、多维存储空间非传统计算机结构:并行处理计算机脉动阵列计算机数据流计算机归约计算机人工智能计算机2022-6-6871.4.2 系统结构的发展 软件对系统结构发展的影响 器件对系统结构发展的影响 应用对系统结构发展的影响 价格对系统结构的影响 算法对系统结构的影响2022-6-688一、软件对系统结构发展的影响 软件对系统结构的影响主要是解决软件的可移
43、植出 性( 软件成本越来越高软件产量和可靠性的提高困难 积累了大量成熟的软件排错比编写困难、软件生产率低因而出现了“软件危机”) 实现软件的可移植性有三个主要途径: 1.统一高级语言 2.采用系列机方法 3.模拟与仿真2.采用系列机方法 系列机:由同一厂商生产,系统结构相同、组成和实现不同的不同档次(速度、容量、成本和可靠性)的机器。 如IBM公司的360、370系列计算机,DEC公司的PDP-ll系列机 和INTEL公司的80X86系列微型计算机。 1.统一高级语言(应用、认识和习惯势力三个问题)2022-6-690系列机方法只是解决了系统结构相同的计算机之间的软件移植。系列机方法也限制了系
44、统结构的发展。 系列机方法较好地解决了硬件技术更新发展快(系统结构要求不断更新)而软件编写开发周期比较长(软件环境要求相对稳定)之间的矛盾。兼容机:不同厂商生产,系统结构相同、组成和实现不同的不同档次的机器。2022-6-691系列机要求 :保证向后兼容 力争做到向上兼容当前机器当前机器时间机器档次向上兼容向上兼容向下兼容向下兼容向前兼容向前兼容向后兼容向后兼容2022-6-6923.模拟与仿真模拟与仿真微程序机器级高级语言级汇编语言级操作系统级传统机器级A机器系统模拟模拟高级语言级操作系统级传统机器级B机器系统仿真仿真宿主机宿主机虚拟机虚拟机目标机目标机模拟:用一台机器的指令系统,去解释另一
45、台系统结构不同的机器的指令系统,以实现软件的移植。(实现容易、速度较慢)仿真:直接用微程序去解释另一台系统结构不同的机器的指令系统,以实现软件的移植。(微程序编写困难、实现速度较快) 模拟与仿真可实现系统结构不同的机器之间软件的移植。 对于使用频率较高的指令,尽可能用仿真方法以提高运算速度,而对使用频率低且难于用仿真实现的指令(包括IO指令等)则用模拟方法加以实现。 2022-6-694开放式系统(open system) 1978年由国际标准化组织(ISO)首先提出了关于开放式系统的新概念。 是指种独立于厂商,且遵循有关国际标准而建立的、具有系统可移植性、交互操作性,从而能允许用户自主选择具
46、体实现技术和多厂商产品渠道的系统集成技术的系统。它是相对于原来的封闭系统或专有系统而言的。 USB, TCP/IP Java, CORBA, Web Services等 2022-6-695系统结构的发展 软件对系统结构发展的影响 器件对系统结构发展的影响器件对系统结构发展的影响 应用对系统结构发展的影响 价格对系统结构的影响 算法对系统结构的影响2022-6-696二、器件对系统结构发展的影响 器件发展使得计算机的主频速度、单芯片的集成度飞速提高。(如1979年推出的8088/8086,主频约5MHz,单芯片上集成2.9万个晶体管;1997年推出的PII主频在300MHz左右,单芯片上集成1
47、500万个晶体管)器件的发展使得系统结构技术“下移”速度加快。2022-6-697 器件的发展使得器件原有的使用性质发生了转变(通用型现场型专用型)。 器件的发展会影响到算法、语言和软件的发展。 器件的发展改变了传统的逻辑设计思想和 逻辑设计方法。器件是推动系统结构发展的主要动力,最活跃的因素,是计算机更新换代的标志之一。2022-6-6982022-6-6992022-6-6100美国NSF向美国政府申请2009年计划经费2000多万美元,为超越摩尔定律(SEBML )部署新计划NSF:摩尔定律将在10到20年后达到物理和概念上的极限具体方向包括:碳纳米管、量子计算和并行计算以及大规模多核计
48、算机等 2022-6-6101系统结构的发展 软件对系统结构发展的影响 器件对系统结构发展的影响 应用对系统结构发展的影响应用对系统结构发展的影响 价格对系统结构的影响 算法对系统结构的影响2022-6-6102三、应用对系统结构发展的影响 应用范围:数值计算、数据库及事务处理系统、CAD、多媒体处理、人工智能 在某个应用领域的确定以后,系统结构设计者的首要任务,是确保系统中的每一个功能部件获得更高的性能 系统结构设计者总是根据用户(市场)需求设计或改进系统结构,以适应发展2022-6-6103系统结构的发展 软件对系统结构发展的影响 器件对系统结构发展的影响 应用对系统结构发展的影响 价格对
49、系统结构的影响价格对系统结构的影响 算法对系统结构的影响算法对系统结构的影响2022-6-6104四、价格对系统结构的影响 性能与价格(性/价比)均衡改善与提高 性能或价格较小的变化产生比原系统好的性/价比 提高系统的绝对性能,而价格增长又比较合理2022-6-6105五、算法对系统结构的影响 充分利用算法和系统结构两者优势,构建一种有效的解决问题的方法 改进和提高基本的系统结构 利用并行性获得高速度2022-6-6106系统结构发展小结 软件是促使计算机系统结构发展的最重要的因素 没有软件,机器就不能运行,所以为了能方便地使用现有软件,就必须考虑系统结构的设计 软件最重要 应用需求是促使计算
50、机系统结构发展的最根本的动力 机器是给人用的,我们追求更快更好,机器就要做得更快更好 需求最根本 器件是促使计算机系统结构发展最活跃的因素 没有器件就产生不出电脑,器件的每一次升级就带来计算机系统结构的改进 器件最活跃2022-6-61071.4.3 计算机的成本和价格 成本敏感设计(Cost-sensitive designs): -非设计时的元器件成本,而是产品交付市场时的规划成本。 -封装成本。随着时间的推移,设计时安排在一个印制板上的所有器件,生产时可能只用一个单芯片集成。2022-6-6108平均折扣毛利润直接成本元器件成本计算机产品价格的构成计算机产品价格的构成25-40%35-4
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。