欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    计算机系统结构的基本概念 .ppt

    • 资源ID:47514421       资源大小:4.64MB        全文页数:152页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机系统结构的基本概念 .ppt

    计算机系统结构的计算机系统结构的基本概念基本概念 现在学习的是第1页,共152页1.1 计算机系统层次结构计算机系统层次结构1.1.1按功能划分的多级层次结构现代计算机是通过执行指令来解决问题的,它由软件和硬件两大部分组成。描述一个任务如何实现的指令序列称为程序,所有程序在执行前都必须转换成计算机能识别以及直接执行的机器指令。这些机器指令与机器硬件直接对应,并能被其直接识别和执行,然而使用机器语言编程既不方便,也无法适应解题需要和计算机应用范围的扩大。现在学习的是第2页,共152页这个问题可从两方面去解决,前提是都需要设计一个比机器指令更方便使用或编程的指令集合,由它构成新的语言,例如汇编语言。汇编语言是一种符号语言,给程序员编程提供了方便,尽管每个语句仍基本上与机器指令对应,却并不能被机器直接识别和执行;用汇编语言开发的程序需要某种转换才能在实际机器上执行。转换的方式有以下两种:现在学习的是第3页,共152页翻译翻译(translation):在执行汇编语言源程序之前生成一个等价的机器语言指令序列来替换它,生成的程序全部由机器指令组成,计算机执行等效的机器语言源程序来代替原来的汇编语言源程序。即把源程序先转换成目标程序,而后再在机器上执行目标程序以获得结果。解释解释(interpretation):用机器指令写一个程序,将汇编语言源程序作为输入数据,按顺序检查它的每条指令,然后直接执行等效的机器指令序列来解决问题。现在学习的是第4页,共152页汇编语言源程序可以在机器上运行并获得结果,是因为有汇编程序的支持。在汇编语言程序设计者看来,就好像有了一台用汇编语言作为机器语言的机器。这里的机器是指能存储和执行程序的算法和数据结构的集合体。我们把以软件(Software)为主实现的机器,称之为虚拟机器,而把由硬件(Hardware)和固件(Firmware)实现的机器称为实际机器。显然,虚拟机器的实现是构筑在实际机器之上的。下图给出了虚拟机器与实际机器之间构成的一个简单的层次结构。现在学习的是第5页,共152页图1.1虚拟机器和实际机器层次结构举例现在学习的是第6页,共152页语言与虚拟机之间存在着重要的对应关系,每种机器都有由它能执行的指令组成的机器语言。同时,语言也定义了机器,即机器要能执行这种语言所写的程序。有n层不同的语言,就对应有n层不同的虚拟机。在图1.2中我们给出了典型的现代计算机的多级层次结构。例如,汇编语言(L3)是面向机器的一种符号语言,其语法、语义结构仍然和二进制机器语言的基本相同,但与解题所需的差别较大,于是进一步出现了面向题目和过程的高级语言(L4);现在学习的是第7页,共152页在高级语言的基础上还出现了面向应用的应用语言(L5),因此我们可以得到多个层次的虚拟机器;而对于实际机器级若采用微程序(L0)控制,它又可分解成传统机器级M1和微程序级M0;虽然目前很多机器上的操作系统(L2)已不再用汇编语言编写,而是用面向系统软件的高级语言,如C语言,但从实质上看,操作系统是传统机器的引伸,它要提供传统机器所没有但为汇编语言和高级语言的使用和实现所需的某些基本操作和数据结构,如文件管理、进程管理、中断管理、作业控制、存储管理和输入输出等等,它们在许多机器上是经机器语言程序解释实现的。因此,操作系统级放在传统机器级之上,汇编语言级之下。现在学习的是第8页,共152页图1.2计算机系统的多级层次结构现在学习的是第9页,共152页把计算机系统按功能划分为多个层次结构后,对各机器级的程序员而言,只要熟悉和遵守该级语言的规范准则,所编写的程序总能在此机器级上运行并得到结果,而不用了解该机器级是如何实现的。各机器级的实现主要靠翻翻译译或或解解释释,或者是这两者的结合。翻译是先用转换程序将高一级机器级上的程序整个地变换成低一级机器级上可运行的等效程序,然后再在低一级机器级上实现的技术。解释则是在低一级机器级上用它的一串语句或指令来仿真高一级机器级上的一条语句或指令的功能,通过对高一级程序中的每条语句或指令逐条解释来实现的技术。现在学习的是第10页,共152页计算机系统采用何种实现方式,要从效率、速度、价格、资源状况、可靠性等多方面因素全盘考虑,对软件、硬件及固件的取舍进行综合平衡。软件和硬件在逻辑功能上是等效的,同一逻辑功能既可以用软件也可以用硬件或固件实现,从原理上讲,软件实现的功能完全可以用硬件或固件完成,同样,硬件实现的逻辑功能也可以由软件的模拟来完成,只是性能、价格以及实现的难易程度不同而已。现在学习的是第11页,共152页例如,在计算机中实现十进制乘法这一功能,既可以用硬件来实现,也可以用软件来完成。用硬件实现,需设计十进制乘法机器指令,用硬件电路来实现该指令,其特点是完成这一功能的速度快,但需要更多的硬件。而用软件来实现这个功能,则要采用加法、移位等指令通过编程来实现,其特点是实现的速度慢,但不需增加硬件。现在学习的是第12页,共152页 软、硬件的功能分配比例可以在很宽的范围内变化,这种变化是动态的,如图1.3所示,软硬功能分配的比例随不同时期以及同一时期的不同机器的变化而变化。由于软、硬件是紧密相关的,软硬界面常常是模糊不清的,在计算机系统的功能实现上,有时候很难分清哪些功能是由硬件完成的,哪些功能是由软件完成的。在满足应用的前提下,软硬功能分配比例的确定,主要是看能否充分利用硬件、器件技术的现状和进展,使计算机系统达到较高的性能价格比。对于计算机系统的用户,还要考虑他所直接面对的应用语言所对应的机器级的发展状况。现在学习的是第13页,共152页图1.3软硬件功能分配现在学习的是第14页,共152页从目前软硬件技术的发展速度及实现成本上看,随着器件技术的高速发展,特别是半导体集成技术的高速发展,以前由软件来实现的功能,越来越多的由硬件来实现,总的来说,软件硬化是目前计算机系统发展的主要趋势。现在学习的是第15页,共152页1.1.2按功能划分层次的好处从概念和功能上把一个复杂的计算机系统看成是由多个机器级构成的层次结构,可以有如下的好处:首先,有利于理解软件、硬件和固件在系统中的地位和作用;从系统层次的划分中,可以看出,微程序机器级(M0)、传统机器级(M1)、操作系统机器级(M2)不是为应用程序员解题设计的,而是为运行支持更高层次机器级程序所必须的解释程序和翻译程序而设计的,以便能设计和实现新的虚拟机器级。现在学习的是第16页,共152页在这之上的机器级(M3M5级)则主要是为应用程序设计人员解决各类实际应用问题而设计的。其次,系统按层次进行划分,有利于理解各种语言的实质和实现途径;计算机各层次的语言总是通过低一级的语言翻译或解释来实现的,这就说明相邻机器级之间的语义差别不能太大。再次,系统按层次进行划分,有利于推动计算机系统结构的发展;例如,可以重新分配软、硬件的比例,为虚拟机器的各个层次提供更多更好的硬件支持,改变硬件及器件快速发展而软件却日益复杂、开销过大的状况。现在学习的是第17页,共152页可以用硬件和固件来实现高级语言和操作系统而形成高级语言机器和操作系统机器。再如,用真正的机器来取代各级虚拟机,摆脱各级功能都在同一台实际机器上实现的状况,发展多处理机系统、分布处理系统、计算机网络等系统结构。最后,系统按层次进行划分,有利于理解计算机系统结构的定义。把计算机按功能划分成多个不同的层次结构,从各个层次的功能划分和实现去了解计算机系统,有助于更深入的了解系统结构的定义。现在学习的是第18页,共152页1.2 计算机系统结构计算机系统结构“计算机系统结构”这个名词来源于英文ComputerArchitecture,也译成“计算机体系结构”。architecture这个词原来用在建筑领域,原意“建筑、建筑学”,60年代这个名词被引入计算机领域,“计算机系统结构”一词已经得到普遍应用,它研究的内容不但涉及计算机硬件,也涉及计算机软件,已经成为一门学科。现在学习的是第19页,共152页1.2.1计算机系统结构的定义计算机系统结构这个词是Amdahl(Gene.Amdahl吉恩.阿姆达尔)等人在1964年介绍IBM360时提出的。他们把系系统统结结构构定定义义为为由由程程序序设设计计者者所所看看到到的的一一个个计计算算机机系系统统的的属属性性,即即概概念念性性结结构构和和功功能能特特性性。这实际上是计算机系统的外特性。按照计算机层次结构,不同程序设计者所看到的计算机具有不同的属性。在在计计算算机机技技术术中中,一一种种本本来来是是存存在在的的事事物物或或属属性性,但但从从某某种种角角度度看看却却好好象象不不存存在在,称称为为透透明明性性。通常,在一个计算机系统中,低层机器级的概念性结构和功能特性,对高级语言程序员来说是透明的。现在学习的是第20页,共152页概念性结构概念性结构指的是计算机系统中所有部件之间的逻辑连接结构功能特性功能特性 主要指的是计算机系统的如下功能:数据表示,寻址方式,寄存器组织,指令系统,存储系统,中断机构,I/O结构现在学习的是第21页,共152页例如使用高级语言的程序员所看到的计算机属性主要是软件子系统和固件子系统的属性,包括程序语言以及操作系统、数据库管理系统、网络软件等用户界面。例如,IBM370系列机的中央处理器都具有相同的基本指令系统,指令的解释过程在不同档次机器中的处理方式不相同,但对程序设计者而言,所看到的数据形式都是相同的32位字长。现在学习的是第22页,共152页同样,对于其不同档次机器,在组成与实现时,数据通路宽度(数据总线)可以分别采用8位、16位、32位或64位,但对于程序员而言,数据总线宽度是透明的,即在设计程序时不需要考虑数据总线宽度的位数。Amdahl等人提出的系统结构定义中的程序设计者是指机器语言或编译程序设计者所看到的计算机属性,是硬件子系统的概念结构及其功能特性。现在学习的是第23页,共152页1.2.2计算机系统结构研究的内容计算机系统结构研究的主要内容是计算机系统中各级之间界面的定义及其上下的功能分配。在这里,我们主要讨论传统机器级的系统结构,即从机器语言程序员的角度所看到的计算机系统结构,如图1.4所示。现在学习的是第24页,共152页图1.4计算机系统软硬件交界面现在学习的是第25页,共152页界面之上的功能由软件实现;界面之下的功能由硬件/固件实现。所以本书是研究软、硬件功能的分配以及对机器级界面的确定,即由机器语言设计者或编译程序设计者所看到的机器物理系统的抽象或定义。它是机器语言程序设计者或是编译程序生成系统为使其所设计或生成的程序能在机器上正确运行,所需看到和遵循的计算机属性。它不包括机器内部的数据流和控制流、逻辑设计或器件设计等。现在学习的是第26页,共152页 因此,因此,计算机系统结构计算机系统结构 研究的是软、硬件之间的功能分配以研究的是软、硬件之间的功能分配以及对传统机器级界面的确定,提供机器语及对传统机器级界面的确定,提供机器语言、汇编语言程序设计者或编译程序生成言、汇编语言程序设计者或编译程序生成系统为使其所设计或生成的程序能在机器系统为使其所设计或生成的程序能在机器上正确运行,应看到和遵循的计算机属性。上正确运行,应看到和遵循的计算机属性。现在学习的是第27页,共152页对于目前的通用型机器,计算机系统结构(传统机器程序员所看到的属性)一般包括:(1)机机器器内内的的数数据据表表示示,包括硬件能直接识别和处理的数据类型和格式等;(2)寻寻址址方方式式,包括最小寻址单位,寻址方式的种类、表示和地址计算等;(3)寄寄存存器器组组织织,包括操作数寄存器、变址寄存器、控制寄存器及某些专用寄存器的定义、数量和使用约定;现在学习的是第28页,共152页(4)指指令令系系统统,包括机器指令的操作类型和格式、指令间的排序方式和控制机构等;(5)存存储储系系统统,包括最小编址单位、编址方式、主存容量和最大可编址空间等;(6)中中断断机机构构,包括中断的类型、中断分级、中断处理程序的功能和入口地址等;(7)机机器器工工作作状状态态的的定定义义及及切切换换,如在管态,处理机可以使用系统的全部指令和全部资源,而在目态,处理机只能执行用户程序;现在学习的是第29页,共152页(8)输输入入输输出出机机构构,包括输入输出设备的连结方式,处理机/存储器与输入输出设备间数据传送的方式与格式、传送的数据量、以及输入输出操作的结束与出错标志等;(9)信信息息保保护护,包括信息保护方式和硬件对信息保护的支持等。现在学习的是第30页,共152页1.3 计算机组成计算机组成1.3.1计算机组成的定义计计算算机机组组成成(Computer Organization,又又称称计计算算机机设设计计)是是指指计计算算机机系系统统的的逻逻辑辑实实现现。包包括括机机器器内内部部的的数数据据流流和和控控制制流流的的组组成成以以及及逻逻辑辑设设计计等等。它着眼于机器内各事件的排序方式与控制机构、各部件的功能以及各部件间的联系。现在学习的是第31页,共152页计算机组成的设计是按所希望达到的性能价格比,最佳、最合理的把各种设备和部件组成计算机,以实现所确定的计算机系统结构。对传统机器程序员来说,计算机组成的设计内容一般是透明的。现在学习的是第32页,共152页1.3.2计算机组成设计计算机组成的任务是在计算机系统结构确定分配给硬件子系统的功能及其概念结构之后,研究各组成部分的内部构造和相互联系,以实现机器指令级的各种功能和特性。这种相互联系包括各功能部件的配置、相互连接和相互作用。各功能部件的性能参数相互匹配是计算机组成合理的重要标志,因而相应地就有许多计算机组织方法。例如,为了使存储器的容量大、速度快,人们研究出存储体系。在存储体系中,又有虚拟存储器、高速缓存、多模块交叉工作、多寄存器组和堆栈等技术。现在学习的是第33页,共152页再如,为了使输入输出设备与处理机间的信息流量达到平衡,人们研究出通道、外围处理机等方式。为了提高处理机速度,人们研究出先行控制、流水线、多执行部件等方式。在各功能部件的内部结构研究方面,产生了许多组合逻辑、时序逻辑的高效设计方法和结构。现在学习的是第34页,共152页一般来讲,计算机组成设计要确定的内容应包括:(1)数数据据通通路路的的宽宽度度,指数据总线上一次能并行传送的信息位数;(2)专专用用部部件件的的设设置置,包括设置哪些专用部件,如乘除法专用部件、浮点运算部件、字符处理部件、地址运算部件等,每种专用部件的个数等等,这些都决于所需达到的机器速度、专用部件的使用频度及允许的价格等;现在学习的是第35页,共152页(3)各各种种操操作作对对部部件件的的共共享享程程度度,若共享程度太高,由于共享部件的分时使用将会降低操作的速度;若对同一功能部件设置多个以降低共享度,但系统的价格会随之升高。(4)功功能能部部件件的的并并行行度度,如功能部件的控制和处理方式是采用顺序串行方式,还是采用重叠、流水、分布处理方式;(5)控控制制机机构构的的组组成成方方式式,如控制机构是采用硬连线控制还是微程序控制,是采用单机处理还是多机处理或功能分布处理;现在学习的是第36页,共152页(6)缓缓冲冲和和排排队队技技术术,包括如何在部件间设置多大容量的缓冲器来弥补它们的速度差异,对于等待要求处理的事件如何排队,如随机、先进先出、先进后出、优先级、循环队等不同方式;(7)预预估估、预预判判技技术术,如采用何种原则来预测未来的行为,以优化性能和优化处理;(8)可可靠靠性性技技术术,如采用什么样的冗余技术和容错技术来提高可靠性。现在学习的是第37页,共152页1.4 计算机实现计算机实现1.4.1计算机实现的定义计计算算机机实实现现(Computer Implementation)是是指指计计算算机机组组成成的的物物理理实实现现。它包括处理机、主存等部件的物理结构,器件的集成度和速度,信号传输,器件、模块、插件、底板的划分与连接,专用器件的设计。电源、冷却、装配等技术以及有关的制造技术和工艺等。它着眼于器件技术和微组装技术。其中,器件技术在实现技术中起着主导作用。现在学习的是第38页,共152页1.4.2器件技术研究的内容器件技术研究的内容包括:处理机、主存等部件的物理结构,器件的集成度和速度,专用器件的设计,信号传输等。例如,集成电路采用TTL类型还是MOS类型,最小光刻线条的尺寸,连线采用铝连线还是铜连线,集成电路内部的电容、电阻的设计,集成电路上的晶体管采用什么样的材料和工艺,如不同场合下可以选用硅、硅锗合金、砷化镓等等,其带来的物理特性、响应特性、功耗也各有不同。随着时间的推移,芯片的封装技术已经历了好几代的变迁,从DIP、QFP、PGA、BGA到CSP,再到MCM等等。现在学习的是第39页,共152页计算机所用的基本器件已经从初期的电子管、晶体管、中小规模集成电路、大规模集成电路,发展到现在的超大规模集成电路(VLSI),其生产工艺从上世纪70年代的10微米发展到现在的0.09微米的水平,只用了不到30年的时间。其所能达到的集成度可以在一个芯片上集成上亿个晶体管。例如,在处理器方面,英特尔公司的第一个CPU的集成度为2000多个晶体管,而在1999年,英特尔公司推出的PentiumIII处理器的集成度就达到2400万个晶体管,到了2000年,采用Willamette核心,使用0.18微米生产工艺的Pentium4处理器的集成度就达到3400万个晶体管;现在学习的是第40页,共152页而其后推出的采用Northwood核心,使用0.13微米生产工艺的Pentium42.53GHz处理器其集成度达到5500万个晶体管,最新的PentiumEE955处理器更是集成了3.76亿个晶体管。并且,AMD公司的Athlon64X2处理器的集成度也达到2.33亿个晶体管。现在学习的是第41页,共152页计算机所用的基本器件不仅由分立器件发展到集成电路,其速度也有显著的提高。器件的发展是推动系统结构和组成前进的关键因素和主要动力。随着生产工艺以及材料工艺的进展,单个器件的尺寸可以越来越小,单个晶体管的尺寸已经从微米级缩小到纳米级,响应速度可以达到100GHz的量级,例如,IBM使用硅锗材料制造的晶体管,速度达到350GHz,为CPU的主频达到10G的水平提供了技术保障。器件技术的快速发展,使单个器件或集成电路的性能越来越高,而价格则越来越低;同时,也为各种新的系统结构和组成实现提供了硬件支持,并使计算机的应用得到快速普及。现在学习的是第42页,共152页器件技术的发展还促进了算法、语言和软件的发展。随着CPU性价比的迅速改善,加速了大规模高性能并行处理机和通信网络的发展。由数百甚至上万个微处理器组成的MPP(MassivelyParallelProcessor大量信息并行处理机)系统促使人们不断研究新的并行算法、并行语言及相关应用软件和操作系统,以使系统的规模和处理速度能随结点处理器数的增加而显著提高。在2005年全球高性能计算机500强的排行榜上,位居榜首的是美国国际商用机器公司(IBM)研制的“蓝色基因L”,运算速度高达每秒280.6万亿次浮点运算,目前部署在美国劳伦斯-利弗莫尔国家实验室中。现在学习的是第43页,共152页位于IBM公司托马斯沃森研究中心的一台“蓝色基因”超级计算机名列第二,运算速度为每秒91.2万亿次。中国上海超级计算中心的“曙光4000A”名列第41位,运算速度为11万亿次,在中国研制的超级计算机中排名最高。现在学习的是第44页,共152页1.4.3系统结构、组成、实现三者的关系和相互影响计算机系统结构、计算机组成和计算机实现是三个互不相同的概念,但它们是互相联系和相互影响的。计算机系统结构是计算机系统的软、硬件分界面,是机器语言程序设计者或是编译程序生成系统为使其设计或生成的程序能在机器上运行所看到的计算机属性;计算机组成是计算机系统结构的逻辑实现;计算机实现是计算机组成的物理实现。现在学习的是第45页,共152页具有相同系统结构的计算机可以采用不同的组成。例如,具有相同指令系统的计算机,指令的取出、译码、取操作数、运算、存结果既可以采用顺序方式进行解释,也可以采用流水方式让它们在时间上重叠进行来提高速度。又如乘法指令可以利用专用乘法器来实现,也可以通过加法器重复相加、移位来实现,这主要取决于对速度的要求、乘法指令出现的频度和所采用的乘法运算方法。显然,前一种方法可以有效的提高乘法运算速度,而后一种方法则可以降低系统的价格。现在学习的是第46页,共152页一种系统结构可以有多种计算机组成,同样,一种计算机组成可以采用多种不同的计算机实现。例如,在CPU的选择上,同一类型的CPU一般都有多个不同的工作频率,从速度及价格等角度考虑,可以选择工作频率较高的CPU,来实现较高的运算速度,也可以选择工作频率较低的CPU,来保证系统的价格相对较低。又如在主存器件的选择上,可以选择TTL型的器件,也可以采用MOS型器件;即可以采用单片VLSI集成电路,也可以采用多片LSI或MSI集成电路组成;现在学习的是第47页,共152页既可以选择响应时间速度较快的芯片,也可以选择响应速度较慢的芯片。实际上,这也是在速度、价格等因素之间进行选择;换句话说,采用什么样的实现技术主要考虑所要达到的性能价格比及器件技术的现状。现在学习的是第48页,共152页反过来,计算机实现是计算机系统结构和计算机组成的基础,其技术的发展对计算机系统结构有着很大的影响,而计算机组成也会影响计算机系统结构。例如器件的发展使系统结构由大型机下移到小型机及微机的速度加快。早期用于大型机的各种数据表示、指令系统、操作系统很快应用到小型机以及微机上。例如,在目前的PC上使用的CPU,都普遍采用了在早期大型机才使用的超标量技术,并引入了VLIW(VeryLongInstructionWord超长指令集架构)技术,有些机器还使用了超流水线技术。现在学习的是第49页,共152页系统结构的设计必须结合应用考虑,为软件和算法的实现提供更多更好的支持。同时,还要涉及到可能采用和准备采用的组成技术。即计算机系统结构的设计应考虑减少对各种组成及实现技术的使用限制,在一种系统结构中,应允许有多种不同的组成和实现技术。既能方便的在低档机器上用简单、低成本的组成实现,也能在高档机器上以较高的成本、复杂的组成实现。例如,在IBM370系列机中,由低到高有不同档次的机器,它们的中央处理器都具有相同的基本指令系统,现在学习的是第50页,共152页只是指令的分析、执行方式不同,在低档机器上用顺序方式处理,在高档机器上用并行方式处理。又如,在数据通路宽度的组成和实现上,不同档次机器可以分别采用8位、16位、32位和64位。IBM370系列机采用通道方式进行输入输出,其组成又可以分为在低档机器中采用的结合型通道和在高档机器中采用的独立型通道。现在学习的是第51页,共152页在不同时期,系统结构、组成和实现所包含的内容会有所不同。在某些计算机系统中作为系统结构的内容,在另一些计算机系统中可能是组成和实现的内容。随着各种新技术的出现和发展,特别是器件技术的发展,各种功能都集成到一个芯片上,使系统结构、组成和实现融合于一体,系统结构、组成和实现三者之间的界限越来越模糊。现在学习的是第52页,共152页1.5 计算机性能计算机性能计算机系统的性能指标,主要取决于计算机的本质属性,即时空属性。各项指标都围绕着它的本质属性来定义。时间是衡量计算机性能的标准。同样的工作量,花费的时间越少速度就越快。衡量机器性能的唯一固定而且可靠的标准就是真正执行程序的时间。现在学习的是第53页,共152页1.5.1性能因子CPICPU的工作是建立在一个固定的时钟节拍上的,这个节拍有一定的时间长度Tc,我们称之为时钟周期(clockcycles)。它是计算机内部操作的基本时间单位,即计算机内部每一基本功能操作在一个或多个时钟周期的时间内完成。时钟周期的单位通常使用纳秒(ns),它的倒数则是时钟的频率,即CPU的主频,通常使用MHz或GHz来表示。现在学习的是第54页,共152页定义:表示要执行程序中的指令总数,CPI表示执行每条指 令 所 需 的 平 均 时 钟 周 期 数(clock cycles per instruction)。则有,一个程序在CPU上运行所需的时间TCPU可以用下述公式表示:(1.1)现在学习的是第55页,共152页由此公式可见,程序运行的时间取决于三个特征:时钟周期(或速率),每条指令所需的时钟周期数以及程序中总的指令数。由式1.1可得到CPI的表达式:(1.2)现在学习的是第56页,共152页在程序执行过程中,要用到不同类型的指令,令Ii表示第i类指令在程序中执行次数,CPIi表示执行一条第i类指令所需的平均时钟周期数,n为程序中所有的指令种类数。则式1.2可以改写为:(1.3)现在学习的是第57页,共152页因为IN是一个常数,所以式1.3可以改写为:(1.4)现在学习的是第58页,共152页其中表示第i类指令在程序中所占的比例。式1.4说明平均CPI,或称有效CPI,是等于每类指令的平均CPI和该类指令在整个程序中出现的百分比的乘积之和。在这里,我们可以用CPU时间来评价CPU性能,即(1.5)现在学习的是第59页,共152页由式1.5可以看出,要改善CPU性能,可以通过改变其中某一项或几项因素来实现。事实上,这三个因素是相互关联的。时钟频率fC由硬件技术和组成技术决定,CPI与组成和指令集有关,而指令数IN则与指令集和编译技术有关。现在学习的是第60页,共152页1.5.2计算机性能常用指标MIPS和MFLOPS1.MIPS(millioninstructionspersecond,每秒百万次指令)这是一个用来描述计算机性能的尺度。对于一个给定的程序,MIPS定义为:(1.6)现在学习的是第61页,共152页其中,表示时钟速率,它是时钟周期的倒数。如果用TE代替来表示程序的执行时间,则由式1.6可得TE的表达式:(1.7)现在学习的是第62页,共152页 例例1.1 已知PentiumII处理机的CPI=0.5,试计算PentiumII450处理机的运算速度。解:由于PentiumII450处理机fc450MHz,因此,应用式1.6可求出:现在学习的是第63页,共152页即PentiumII450处理机的运算速度为900MIPS。显然,既然MIPS是单位时间内的执行次数,所以机器工作频率越高,其MIPS愈高;同样,执行每条指令所需的平均时钟周期数(CPI)越小,其MIPS值也越高。MIPS从一定程度上反映了机器的性能。但是MIPS有三个方面的缺陷:现在学习的是第64页,共152页(1)MIPS依赖于指令集,所以使用MIPS来衡量指令集不同的机器的性能优劣时,其结果是很不准确的。只适合于评价有相同指令集的机器。(2)从式1.4和1.6可以看出,在同一台机器上,程序不同,其CPI也会不同,其MIPS计算结果也会因为程序不同而发生变化,有时其差异是很大的。现在学习的是第65页,共152页(3)MIPS可能与性能相反。典型例子就是具有可选硬件浮点运算部件的机器。因为浮点运算远慢于整数运算,所以很多机器提供了可选的硬件浮点运算部件,但是软件实现浮点运算的MIPS高。然而硬件实现浮点运算的时间少,这时MIPS与机器性能恰好相反(为什么?)。在使用MIPS时应注意它的应用范围,它只适宜于评估标量机,因为在标量机中执行一条指令,一般可得到一个运算结果,而向量机中,执行一条向量指令通常可得到多个运算结果。因此,用MIPS来衡量向量机是不合适的。现在学习的是第66页,共152页2.MFLOPS(million floating point operations persecond,每秒百万次浮点运算)MFLOPS可用如下公式表示:(1.8)其中,IFN表示程序中的浮点运算次数。现在学习的是第67页,共152页由于MFLOPS取决于机器和程序两个方面,因此MFLOPS只能用来衡量机器浮点操作的性能,而不能体现机器的整体性能。例如编译程序,不管机器的性能有多好,它的MFLOPS不会太高。现在学习的是第68页,共152页MFLOPS测量单位比较适用于衡量向量机的性能,因为MFLOPS是基于操作而非指令的,所以它可以用来比较两种不同的机器。一般而言,同一程序运行在不同计算机上时往往会执行不同的指令数,但所执行的浮点数个数常常是相同的。采用MFLOPS作为衡量单位时,应注意它的值不但会随整数、浮点数操作混合比例的不同发生变化,而且也会随快速和慢速浮点操作混合比例的变化而变化。例如,运行由100%浮点加组成的程序所得到的MFLOPS值将比由100%浮点除法组成的程序要高。现在学习的是第69页,共152页MFLOPS和MIPS两个衡量值之间的量值关系,没有统一标准,一般认为在标量计算机中执行一次浮点运算需要25条指令,平均约需3条指令,故有1MFLOPS3MIPS。例例1.2用一台40MHZ处理机执行标准测试程序,程序所含的混合指令数和每类指令的CPI如表1.1所示,求有效CPI、MIPS速率和程序的执行时间。现在学习的是第70页,共152页表1.1标准测试程序的混合指令数和相应所需的时钟周期数指令类型整数运算数据传送浮点操作控制传送指令数4500032000150008000CPI1222现在学习的是第71页,共152页解:总的指令数为:45000+32000+15000+8000=100000条,因此各类指令所占的比例分别是:整数运算为45%,数据传送为32%,浮点操作为15%,控制传送为8%有效CPI、MIPS速率和程序的执行时间分别计算如下:(1)有效CPI为:10.45+20.32+20.15+20.08=1.55CPI(2)MIPS速率为:1/1.5540=25.8MIPS(3)程序的执行时间为:1000001.55/(40106)=0.003875s=3875us现在学习的是第72页,共152页 例例1.3 假定你是一个计算机设计者,已设想了一个优化的设计方案,它能减少过程调用和返回所需的取/存指令次数。为了进行验证,对未加优化和已优化的方案进行实验测试,其中假定所使用的是相同的优化编译器。实验测得的结果如下:优化方案的时钟周期比未优化的快15%;未优化方案中的取/存指令数占总指令数的30%;现在学习的是第73页,共152页优化方案中的取/存指令比未优化的少1/3。对于其它指令,两种方案的动态执行数没有变化;未优化方案的所有指令执行均只需1个时钟周期,而优化方案只有取/存指令执行需要2个时钟周期,其它指令执行也只需1个时钟周期。试计算:(1)优化方案的平均CPI;(2)优化方案加速比。现在学习的是第74页,共152页解:(1)优化方案的平均CPI为:0.2/0.92+0.7/0.911.22CPI现在学习的是第75页,共152页(2)由题意,因为未优化方案的所有指令执行均只需1个时钟周期,因此其平均CPI为1CPI。根据题意,有:(Tc未优化-Tc优化)/Tc未优化=0.15解之,得:Tc优化=0.85Tc未优化现在学习的是第76页,共152页优化方案的加速比为:Sp=未优化方案程序的执行时间/已优化方案程序的执行时间=(IN未优化CPI未优化Tc未优化)/(IN优化CPI优化Tc优化)=(IN未优化1Tc未优化)/(0.9IN未优化1.220.85Tc未优化)1.075现在学习的是第77页,共152页3.用基准程序来评价计算机性能基准程序(benchmark)是性能测试程序,并假设它能刻划某一类应用问题的处理和数据移动特征。基准程序用来测量和预测计算机系统的性能,并能提示它们的体系结构的弱点和优点。基准程序组(benchmarksuite)是一套基准程序的控制测试条件及过程的一组特定规则,包括输入数据、输出结果以及性能指标。基准程序系列(benchmarkfamily)则是一套基准程序组。现在学习的是第78页,共152页基准程序可分为宏基准程序和微基准程序两大类。宏基准程序用来测量一个计算机系统的总体性能,而微基准程序则是用来测量一个计算机系统某一特定方面的性能,如CPU速度、存储器速度、I/O速度、操作系统性能及网络性能等等。表1.2示出了几个具有代表性的微基准程序组和宏基准程序组。现在学习的是第79页,共152页SPEC(StandardPerformanceEvaluationCorporation)最初是由30个左右世界知名计算机大厂商所支持的非盈利的合作组织,成员包括:IBM、AT&T、BULL、Compaq、CDC、DG、DEC、Fujitsu、HP、Intel、MIPS、SGI、SUN、Unisys等;SPEC基准测试程序能够全面反映机器的性能,具有很高的参考价值,已成为事实上的工业标准。随着因特网的快速发展,各种各样的新技术的应用,SPEC也不断变化和增加其测试的范围和内容。现在学习的是第80页,共152页SPEC已经从早期只进行CPU性能测试发展到电子商务、万维网服务、电子邮件服务、高性能机群计算机等等多方面应用的测试。例如,SPECjAppServer2002应用于JAVA应用服务器性能测试,SPECMAIL2001提供电子邮件服务器性能测试,SPECweb99则是用来评估万维网服务器性能的测试。现在学习的是第81页,共152页表1.2几个具有代表性的微基准程序组和宏基准程序组类型名称测试范围微基准程序LINPACK数值计算(线性代数)LMBENCHUnix中的系统调用和数据移动STREAM存储器带宽宏基准程序NAS并行计算(CFD)PARKBENCH并行计算SPEC混合基准程序系列Splash并行计算STAP信号处理TPC商业应用现在学习的是第82页,共152页在1989年10月,SPEC发布了第一个基准测试程序,包含10个测试程序,程序量超过15万行,4个定点程序,6个浮点程序;其测试结果用SPECint89和SPECfp89表示。1992年,又增加10个测试程序,共有6个定点程序和14个浮点程序,测试结果用SPECint92和SPECfp92表示。1995年推出SPECint95和SPECfp95。到了1999年,发布了测试标准为SPECCPU2000的第一个版本V1.0,2001年推出了SPECCPU2000的V1.2版本。现在学习的是第83页,共152页SPEC CPU2000由CINT2000 和CFP2000组成,其中CINT2000由12个基准测试程序(11个由C语言编写,1个由C+语言编写)组成,分别是gzip、vpr、gcc、mcf、crafty、parser、eon、perlbmk、gap、vortex、bzip2和twolf,程序说明见表1.3;CINT2000主要完成在各种不同应用环境下计算机的整数运算能力的测试,其结果用SPECint2000表示。现在学习的是第84页,共152页表1.3CINT2000的基准测试程序基准测试程序编程语言设计者基准时间说明gzipANSICJean-LoupGaily1400数据压缩vprANSICVaughnBetz1400FPGA电路布线gccANSIC1100C优化编译器mcfANSICAndreasLoebel1800组合优化(交通运输调度)craftyANSICRobertHyatt1000国际象棋游戏parserANSICDannySleator,DavyTemperley1800字处理现在学习的是第85页,共152页eonC+Peter Shirley,Ken Chiu,et.al.1300计算机可视化perlbmkANSICLarryWall,et.al.1800Perl程序设计语言gapANSICMartinSchoenert1100群论、解释程序vortexANSICPeterR.Homan1900面向对象的数据库bzip2ANSICJulianSeward1500数据压缩twolfANSICBillSwartz3000布线布局模型现在学习的是第86页,共

    注意事项

    本文(计算机系统结构的基本概念 .ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开