计算机系统结构的基本概念.ppt_第1页
计算机系统结构的基本概念.ppt_第2页
计算机系统结构的基本概念.ppt_第3页
计算机系统结构的基本概念.ppt_第4页
计算机系统结构的基本概念.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高等计算机系统结构 Computer Architecture,课程教学目的,“计算机系统结构”是计算机科学领域中的一个重要分支。 它强调从总体结构、系统分析这一角度来研究计算机系统。 通过本书的学习,读者能把在“计算机组成原理”、“数据结构”、“操作系统”、“汇编语言程序设计”等课程中所学的软件与硬件知识有机地结合起来,从而建立有关计算机系统的完整概念。 教材前言,教材,张晨曦等. 高等教育出版社,2008.6 计算机系统结构 John L. Hennessy, David A. Patterson. 中文版:计算机系统结构 量化研究方法(第三版) 郑纬民 汤志忠 汪东升 译,电子工业出版社 英文版:Computer Architecture: A Quantitative Approach, Third Edition 机械工业出版社 郑纬民 汤志忠. 清华大学出版社, 1998.9 计算机系统结构(第二版),网站,张晨曦的精品课程网站 /arch/ http:/www.GotoS CS252 Home Page /cs252/ 北大微处理器研发中心 / WWW Computer Architecture Page /arch/www/,第1章 计算机系统结构的基本概念,计算机系统结构的概念和发展 定量分析和性能评测 计算机系统结构的并行性,1.1 引言 计算机技术的高速发展得益于:制造技术和设计创新 基于微处理器的系统在整个计算机设计领域占统治地位 工作站和个人计算机已经成为计算机工业的主要产品 小型机被用微处理器构建的服务器所取代 大型机也几乎已经被通用微处理器构成的多处理器代替 系统结构的重大转折:从单纯依靠指令级并行转向开发线程级并行和数据级并行,1.2.1 计算机系统的层次结构,虚拟,虚拟(virtual):利用其他部件实现的本来不存在的事物或属性 例如,虚拟机(VM):由软件实现的机器 再如,虚拟主存、虚拟磁盘、虚拟现实 从不同角度所看到的计算机系统的属性不同,1.2.2 计算机系统结构的定义,Amdahl(阿姆达尔)于1964年在推出IBM360系列计算机时提出了系统结构的概念: 程序员所看到的计算机系统的属性,即概念性结构和功能特性 The structure of a computer that a machine language programmer must understand to write a correct (timing independent) program for that machine Amdahl, Blaauw and Brookes, 1964,透明,透明(transparent):本来存在的事物或属性,从某种角度看似乎不存在 例如,浮点数表示、乘法指令:对高级语言程序员、应用程序员是透明的,对汇编语言程序员、机器语言程序员则是不透明的 再如,数据总线宽度、微程序:对汇编语言程序员、机器语言程序员是透明的,对硬件设计者、计算机维修人员则是不透明的,软硬件界面,assembler,complier,Operating System,library,ISA,S/W,H/W,Application,H/W:Hardware 硬件,S/W:Software 软件,ISA:Instruction Set Architecture 指令集结构,1.2.3 计算机组成和计算机实现,计算机系统结构(Computer architecture) 计算机系统的软件与硬件的界面指令系统 程序员所看到的计算机属性外特性 计算机组成(Computer organization)组织 计算机系统结构的逻辑实现 计算机实现(Computer implementation) 计算机组成的物理实现 计算机系统的结构,组成,实现是三个完全不同的概念,相互间有着十分密切的依赖关系和相互的影响。广义的计算机系统结构即包括经典的指令集结构,也包括计算机组成和实现技术的研究,结构、组成和实现,一种系统结构可以有多种组成 一种组成可以有多种物理实现,是否设置 乘方/开方指令,逻辑设计1 (硬联电路),实现方案1 (V1,$1,T1),逻辑设计3 (微程序),逻辑设计2 (ROM查表),实现方案2 (V2,$2,T2),实现方案3 (V3,$3,T3),1.2.4 计算机系统结构的分类,Flynn1966按照指令流和数据流的多倍性分类 单指令流单数据流SISD:顺序处理计算机 单指令流多数据流SIMD:多媒体指令和向量计算机 多指令流单数据流MISD:尚无商用 多指令流多数据流MIMD:多处理机系统,指令流:计算机执行的指令序列 数据流:由指令流调用的数据序列 多倍性:同时处于同一执行阶段的指令或数据的最大数目,1.3.1 计算机系统设计的定量原理,1. 以经常性事件为重点(大概率事件优先原则) 对经常发生的情况采用优化的方法 加快经常性事件的速度 对于最常见事件赋予优先的处理权和资源使用权 2. 阿姆达尔(Amdahl)定律 定义系统性能的加速比(Speedup),用于计算系统中的某个部分进行改进后,系统总体性能可获得多大的提高,Make the common case fast !,加速比1,可改进比例Fe改进前,可改进部分占原执行时间的比例 部件加速比Se改进后,可改进部分改进后性能提高比,加速比2,改进前,改进后,未改进比例:1Fe,改进比例:Fe,Fe/Se,未改进部分,未改进比例:1Fe,加速比3,当Fe(可改进比例)很小甚至0时: Sn1 当Se(部件加速比)很大甚至时:,Sn:系统加速比 To:采用改进措施前执行该任务所用的时间 Tn:采用改进措施后执行该任务所用的时间,例 1.1,将某一功能的处理速度提高到原来的20倍,该功能的原处理时间仅占整个运行时间的40%,则采用此提高性能的方法后,能使整个系统的性能提高多少? 解:由题意可知:Fe=0.4, Se=20 根据Amdahl定律,加速比为:,例 1.2,某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的20倍,而系统运行某一程序的整体性能提高到原来的5倍,计算该程序中浮点操作所占的比例。 解:由题意可知:Se=20,Sn=5 根据Amdahl定律:,可改进比例Fe=84.2%,3. CPU性能公式,CPU性能的影响因素,CPU时间ICCPI时钟周期长度,CPI,时钟周期,指令条数IC,程序,编译程序,计算机组织,实现技术,指令集结构ISA,补充例题,假设在一般程序中浮点开平方操作FPSQR所占的比例为2%,它的CPI为100;其他浮点操作FP所占的比例为23%,它的CPI4.0;其余75%指令的CPI1.33,计算该处理机的CPI。如果FPSQR操作的CPI也为4.0,重新计算CPI。 解答: CPI11002%423%1.3375%3.92 CPI2425%1.3375%2.00 改进了在用户程序中仅占2的开平方操作,整个机器的等效运算速度提高了近一倍,例 1.31,有两种条件分支指令的设计方案: CPUA:比较指令设置条件码,条件分支指令测试条件码进行分支 CPUB:条件分支指令包括比较、并进行分支 两种方案中,条件分支指令占用2个时钟周期、其他指令占用1个时钟周期。CPUA的条件分支指令占20%,比较指令也占20%。 如果CPUA的时钟周期比CPUB快1.25倍,哪个CPU更快? 如果CPUA的时钟周期比CPUB快1.1倍,哪个CPU更快?,例 1.32,解答: CPIA20%280%11.2 CPU时间AICA1.2时钟周期A CPUB没有独立的比较指令:ICB 80%ICA CPUB条件分支指令所占比例:20%80%25% CPIB25%275%11.25 CPU时间B 80%ICA1.25时钟周期B ICA时钟周期B 时钟周期B 1.25时钟周期A CPU时间B ICA 1.25时钟周期A CPU时间A 时钟周期B 1.1时钟周期A CPU时间B ICA 1.1时钟周期A CPU时间A,4. 程序的局部性原理,程序的顺序执行和程序的循环等原因,程序往往重复使用它刚刚使用过的数据和指令 局部性原理(principle of locality) 处理器访问存储器时,所访问的存储单元在一段时间内都趋向于一个较小的连续区域中 时间局部性:程序即将用到的信息很可能就是目前正在使用的信息(近期被访问的程序,很可能不久又将再次被访问) 空间局部性:程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近(地址上相邻近的程序可能会被连续的访问),求平均值函数的局部性,long mean(long d, long num) long i,temp=0; for(i=0; inum; i+) temp=temp+di; temp=temp/num; return (temp); ,1.3.2 计算机系统的性能评测,最初: 执行单项操作的时间,例如:加法操作时间 改进为: 平均指令执行时间 进一步成为容易理解的: 每秒百万条指令(Million Instructions Per Second) 同时出现: MFLOPS(每秒百万浮点操作) 最终形成: 测试程序(Benchmarks),1. 执行时间和吞吐率,使用者:减少执行时间(execution time) 程序从开始执行到结束执行所用的时间 管理员:增大吞吐率(throughput)流量 单位时间内完成的总任务量 衡量性能最可靠的标准:真实程序的执行时间 相同的任务,花费的时间越少、速度越快、性能越高,区别在于是单任务(关注执行时间)还是多任务(关注吞吐率) X的速度是Y的n倍:,CPU时间与CPU性能,真实程序的执行时间 CPU时间I/O操作等时间 CPU时间 用户CPU时间系统CPU时间 CPU性能对应用户CPU时间,时间越少,性能越高,2. 基准测试程序(benchmark),核心测试程序 Livermore Loops和Linpack 小型测试程序 Quicksort,Puzzle和Sieve 合成测试程序 Whetstone和Dhrystone,真实应用程序 修正的(或者脚本化)应用程序,基准测试程序组件SPEC,Standard Performance Evaluation Corporation SPEC89SPEC92SPEC95SPEC2000 12个整数基准程序(CINT2000) 14个浮点基准程序(CFP2000) WinBench 99 and Winstone 2004 WinBench 99:measures the performance of a PCs graphics, disk, processor, and video subsystems Business Winstone 2004:application-based benchmark that measures a PCs overall performance,CINT2000,Benchmark Language Descriptions 164.gzip C Compression 175.vpr C FPGA Circuit Placement and Routing 176.gcc C C Programming Language Compiler 181.mcf C Combinatorial Optimization 186.crafty C Game Playing: Chess 197.parser C Word Processing 252.eon C+ Computer Visualization 253.perlbmk C PERL Programming Language 254.gap C Group Theory, Interpreter 255.vortex C Object-oriented Database 256.bzip2 C Compression 300.twolf C Place and Route Simulator,CFP2000,Benchmark Language Descriptions 168.wupwise Fortran 77 Physics / Quantum Chromodynamics 171.swim Fortran 77 Shallow Water Modeling 172.mgrid Fortran 77 Multi-grid Solver: 3D Potential Field 173.applu Fortran 77 Parabolic / Elliptic Partial Differential Equations 177.mesa C 3-D Graphics Library 178.galgel Fortran 90 Computational Fluid Dynamics 179.art C Image Recognition / Neural Networks 183.equake C Seismic Wave Propagation Simulation 187.facerec Fortran 90 Image Processing: Face Recognition 188.ammp C Computational Chemistry 189.lucas Fortran 90 Number Theory / Primality Testing 191.fma3d Fortran 90 Finite-element Crash Simulation 200.sixtrack Fortran 77 High Energy Nuclear Physics Accelerator Design 301.apsi Fortran 77 Meteorology: Pollutant Distribution,SPEC示例1,SPEC示例2,Performance relative to a Sun Ultra5_10 (300 MHz) which is given a score of SPECint2000 = SPECfp2000 = 100,SPEC示例3,3. 性能比较,总执行时间 加权执行时间(Weighted Execution Time) 规格化执行时间(Normalized Execution Time),总执行时间,平均总执行时间算术平均值,Ti:第i个测试程序所需的时间,加权执行时间,加权平均执行时间加权算术平均值,Ti:第i个测试程序所需的时间 Wi:第i个测试程序所占的比重,规格化执行时间,平均规格化执行时间可以表示成算术平均值Am,也可以表示成几何平均值Gm,等时加权:按照一个参考机器进行规格化(归一化),使每个程序在该机器上的执行时间相同,运行程序P1时,A的速度是B的10倍; 运行程序P2时,B的速度是A的10倍; 运行程序P1时,A的速度是C的20倍; 运行程序P2时,C的速度是A的50倍; 运行程序P1时,B的速度是C的2倍; 运行程序P2时,C的速度是B的5倍。,算术平均: 程序P1和P2各执行1次,B的速度是A的9.1倍; 程序P1和P2各执行1次,C的速度是A的25倍; 程序P1和P2各执行1次,C的速度是B的2.75倍。 结论: 执行程序P1和P2相同次数, 机器A最慢,机器C最快 算术平均速度:三台机器的速度之比为: A:B:C = 1:9.1:25,加权算术平均 加权算术平均W1三台机器的速度:A B C 加权算术平均W2三台机器的速度:A C B 加权算术平均W3三台机器的速度:C B A,几何平均 几何平均值与所参考的机器无关: 机器A与机器B的性能相同,机器C的执行时间是机器A或机器B 的0.63倍 执行程序P1和P2的总时间: 机器A几乎是机器B的10倍,1.4 计算机系统结构的发展,计算机体系结构发展的基础 软件和硬件的等效性 计算机体系结构发展的目标 充分利用硬件技术的发展,使系统达到较高的性能价格比 软件和硬件的等效性 由软件实现的功能在原理上可以由硬/固件实现 软件和硬/固件在性能和成本上是不等效的,1.4.1 冯诺依曼结构,ENIAC,冯诺依曼,1. 冯诺依曼结构的特点,五大基本部件:存储器、运算器、控制器、输入设备和输出设备。以运算器为中心、由控制器集中控制 将程序和数据存放在存储器中,计算机在工作时从存储器取出指令加以执行,自动完成计算任务。这就是“存储程序”和“程序控制”(简称存储程序控制)的概念 指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现 采用二进制形式表示数据和指令。指令由操作码和地址码组成,2. 对冯诺依曼结构的改进,对输入/输出方式的改进 程序控制,DMA,I/O处理机 采用并行处理技术 操作重叠,并行计算,多机系统 存储器组织结构的发展 累加器,通用寄存器,高速缓冲Cache 指令集的发展 复杂指令集计算机(CISC) 精简指令集计算机(RISC),1.4.2 软件对系统结构的影响,软件兼容可以实现软件的可移植性 一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行,结果相同,差别只是执行时间不同,当前计算机,时间,计 算 机 档 次,低,高,实现可移植性的常用方法,1. 系列机(family) 同一个厂家生产的具有相同的体系结构、但具有不同组成和实现的一系列不同型号的计算机 兼容机(compatible machine) 不同厂家生产的具有相同体系结构的计算机 2. 模拟(simulation)和仿真(emulation) 模拟:软件方法虚拟另一台计算机的指令集 仿真:微程序解释另一台计算机的指令集 3. 统一高级语言,1.4.3 器件对系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论